图的表示概念

图的表示有多种方式,其中主要有以下三种方式:

① 邻接矩阵(二维数组):可以用来表示无向图与有向图

逻辑结构分为两部分:V和E集合。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵

② 邻接表(节点存储了当前节点的邻居)

邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构,如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。

对于无向图来说,使用邻接表进行存储也会出现数据冗余,表头结点A所指链表中存在一个指向C的表结点的同时,表头结点C所指链表也会存在一个指向A的表结点

③ 边集

边封装了起点、终点与权重这些信息,所有的边加入到一个集合中这样就形成了边的集合,即边集

猜你喜欢

转载自blog.csdn.net/qq_39445165/article/details/87800012