1,图及其抽象数据类型

图(Graph)是一种较线性表和树更为复杂的数据结构:
在线性表中,数据元素之间仅有线性关系,即每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素 之间有着明显的层次关系,虽然每一层上的数据元素可能和下一层中多个元素(孩子) 相关,但只能和上一层中一个元素(双亲)相关。而在图形结构中,结点之间 的关系可以是任意的,任意两个数据元素之间都可能相关。

1.1,图的基本概念

图G(Graph)是由顶点(Vertex)集合V和顶点间的关系集合E(边Edge的集合)组成的一种数据结构,可以用二元组定义为:G=(V,E)。
V={vi| vi ∈某个数据元素集合}E={(vi ,vj)|vi ,vi∈V} 或E = {〈vi ,vi〉|vi ,vi,∈V且Path}
(1)无向图&有向图
如果图的边限定为从一个顶点指向另一个顶点,即每条边都是顶点的有序偶对,称之为有向图。如果图中的边没有方向性,即每一条边都是顶点的无序偶对,称之为无向图。
在无向图中,一条边(x,y)与(y,x)表示的结果相同,用圆括号表示,在有向图中,一条边