图的概念
图是一种比线性表和树更为复杂的数据结构。其与线性表、树性结构的注意区别在于:
- 在线性表中,数据元素之间仅有线性关系,每个数据元素之间仅有线性关系,即每个数据元素只有一个直接前驱和一个直接后驱;
- 在树性结构中,数据元素之间有着明显的层次关系,每一层的数据元素之和下一层的孩子节点相关,和上一层的双亲节点相关;
- 在图形结构中,任意两个元素之间都可能相关。
图的抽象数据形式
图的抽象数据形式如下:
ADT Graph{
数据对象 V:V是具有相同特性的数据元素的集合,称为顶点集。
数据关系 R:顶点关系集合。
R = {VR}:定点关系集合;
VR = {<v, w> | v, w ∈ V,P<v, w>表示定点之间的弧,P(v, w)表示定点之间的边}
基本操作 P:...
}
其中有向图可以表示为:
G1=(V1,R1)V1={v1,v2,v3,v4}R1={<v1,v2>,<v1,v3>,<v3,v4>,<v4,v1>}
其中无向图可以表示为:
G2=(V2,R2)V2={v1,v2,v3,v4}R2={(v1,v2),(v1,v3),(v3,v4),(v4,v1)}
参考资料
- 《算法新解》
- 《数据结构(C语言版本)》