目录
什么是图(Graph)
图(Graph)是一种由节点(顶点)和边组成的非线性的数据结构。边可以根据顶点之间的关系设置不同的权重,默认权重相同皆为1。根据边的方向性,可将图分为有向图和无向图。图在实际应用中有很多例子,比如交通运输网,地铁网络,社交网络,计算机中的状态执行(自动机)等都可以抽象成图结构。图结构比树结构更复杂。
图的存储方式
图可以通过不同的方式进行存储,常见的两种方法是邻接矩阵和邻接表。
邻接矩阵
邻接矩阵通过二维数组来表示图中各顶点间的连接情况。对于无向图,邻接矩阵是对称的;而对于有向图,则不一定对称。
以下是通过二维数组来表示邻接矩阵,其中 matrix[i][j] 表示从顶点 i 到顶点 j 是否存在一条边。如果存在边,则赋值
本文介绍了图(Graph)数据结构,包括无向图和有向图的概念,以及图的两种常见存储方式——邻接矩阵和邻接表。邻接矩阵适用于判断任意两个顶点之间是否有连接,但会占用大量空间。邻接表则节省空间,仅存储相连顶点,而对于有向图,结合逆邻接表可以同时表示入度和出度。十字链表则是进一步优化的表示方式,通过扩展的顶点和边结构保留了方向性并减少了存储需求。
订阅专栏 解锁全文
363

被折叠的 条评论
为什么被折叠?



