数据结构重学日记(二十六)图的存储

图的存储结构相比线性表和树更加复杂:

  1. 图中顶点没有次序之分
  2. 图中边和顶点的数量任意

图的存储结构可以分为两大类:

  1. 邻接矩阵(顺序存储)
  2. 邻接表(链式存储):
  1. 十字链表(有向图)
  2. 邻接多重表(无向图)

邻接矩阵 无向图

顶点:用一维数组存储
边或弧:用二维数组存储

邻接矩阵

顶点数组:A B C D
边或弧:
A B C D
A 0 1 1 1
B 1 0 1 0
C 1 1 0 1
D 1 0 1 0

行或列中 1 的个数为顶点的度。

无向图的邻接矩阵是一个对称矩阵。也可以只存储一半矩阵以节省存储空间。

邻接矩阵 有向图

与无向图的区别为边是有方向的
A B C D
A 0 1 0 1
B 0 0 1 0
C 1 1 0 1
D 0 0 0 0

从为行,到为列。

邻接表

定点表:存储顶点和第一个邻接点的指针。
边表:每个顶点所有邻接的顶点集。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 图的定义和基本术语 线性结构中,元素仅有线性关系,每个元素只有一个直接前驱和直接后继;树形结构中,数据元素(...
    yinxmm阅读 5,508评论 0 3
  • 图(Graph)是数据结构中最复杂的一种结构,线性表描述的是一对一关系,树描述的是一对多关系,而图描述的是多对多关...
    大大纸飞机阅读 1,901评论 0 3
  • 图是一种比线性表和树更复杂的数据结构,在图中,结点之间的关系是任意的,任意两个数据元素之间都可能相关。图是一种多对...
    Alent阅读 2,358评论 1 22
  • 1)这本书为什么值得看: Python语言描述,如果学的Python用这本书学数据结构更合适 2016年出版,内容...
    孙怀阔阅读 12,632评论 0 15
  • 《神王》 锲子: 在一片茫茫的黑暗中,一只巨大无比的金色竖瞳缓缓张开,但不一会儿就消失在天际中。一个白发老人...
    神老大阅读 344评论 0 1