前言
在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继;
在树形结构中,数据元素之间有明显的层次关系,并且每一层中的数据元素可能和下一层的多个元素(子结点)相关,但只能和上一层的一个元素(父结点)相关;
在图结构中,结点之间的关系是任意的,可以说树形结构是特殊的图结构。
图的定义
图(Graph)G由两个集合V和G组成,记作G = (V,G)。其中V是各顶点(结点)的有穷非空集合,V中的任意两个顶点配对后作为集合E的元素,顶点偶对亦称为边。
在有向图中,E中的元素形式为<x,y>,表示从顶点x到顶点y的一条有向边,有向边也称作弧,x为弧尾,y为弧头;
在无向图中,E中的元素形式为(x,y),仅表示连接顶点x和顶点y的一条边,效果同(y,x)。
在实际应用中,每条边可以标上具有某种含义的数值,该数值称为边上的权,这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图又称作网。
图的存储结构
由于图的任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,即图没有顺序存储结构,但我们可以用二维数组(矩阵)来表示元素之间的关系——邻接矩阵。除此之外还有链式存储结构,包括邻接表、十字链表和邻接多重表。其中邻接矩阵和邻接表最常用。
(点击传送门学习更多相关知识:https://blog.csdn.net/Ha1f_Awake/article/details/84383923)