《Java常用算法手册》
引言
图(Graph)结构也是一种非线性数据结构,图结构在实际生活中有非常丰富的例子,例如:通讯网络,交通网络,人际关系网络等都可以归结为图结构。图结构的组织形式要比树结构更为复杂,因此,图结构对存储和遍历等操作具有更高的要求。
区别树结构
图结构是比树结构复杂的数据结构。在树结构中,结点具有分支层次关系,每一层上的结点只能和上层中的至多一个结点相关,但可能和下一层的多个结点相关。而在图结构中,任意两个结点之间都可能相关,结点之间相邻的关系可能是任意的。
图结构
了解了树结构,如果将树结构规则进一步扩展,每个数据元素之间可以任意关联,这就构成了一个图结构。正是这种任意关联性导致了图结构中数据关系的复杂性。研究图结构的一个专门理论工具叫图论。(图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。)
图1:典型的图结构(无向图)
图2:有向图
图结构包含如下内容:
顶点(Vertex):因为图中的顶点具