- 线性表:数据元素间仅存在线性关系(每个元素仅有一个直接前驱,一个直接后驱)
- 树形结构:数据元素间有明显层次关系(每一层上元素可能与下一层多个元素*(孩子结点)相关,但只能和上一次层中的一个元素(双亲结点)*相关)
- 图:结点间关系是任意的,任意两个数据元素之间都可能相关
图的定义和术语
- 顶点Vertex:图中的数据元素
V -顶点的有穷非空集合 VR - 两顶点间的关系的集合 - 弧Arc:<v, w>∈VR, <v, w>表示从v到w的一条弧。
<v, w> v - 弧尾/初始点Initial Node w - 弧头/终端点Terminal Node
此时的图称为有向图Digraph。 - 若<v, w>∈VR必有<w, v>∈VR,即VR是对称的,用无序对(w, v)替代<v, w><w, v>,表示v和w之间的一条边Edge,此时的图称为无向图Undigraph
- n - 图中顶点个数 e - 图中边/弧数目
无向图 |e|∈[0, n*(n-1)/2] 对右端点 完全图
有向图 |e|∈[0, n*(n-1)] 对右端点 有向完全图 - 稀疏图Sparse Graph - 很少条边/弧
- 稠密图Dense Graph
- 权Weight - 与图的边/弧相关的数
- 网Network - 带权图