【图】存储结构——邻接矩阵,邻接表,十字链表,多重邻接表
图的存储结构
一般的数据结构都可以用顺序存储和链式存储
- 图使用顺序存储
- 因为任意两点之间可能存在联系,所有无法使用以数据元素在存储区中物理位置表示关系,所以不可取
- 图使用链式存储
- 需要指针域去指向邻接点,每个结点的度各不相同,若是按照做大的,则存储空间浪费,若是按照每个人自己的设计又会给操作带来不变
因此,应该根据具体的图和需要进行操作,设计恰当的结点结构和表结构
一丶邻接矩阵
二丶邻接表
每个顶点建立一个单链表,第 i 个单链表中的结点都依附于顶点vi的边
- 头结点
- firstarc:指向链表的第一个结点
info:顶点的信息 - 弧结点
- adjvex:表示该邻接点在图中的位置
nextarc:指向顶点vi的下一条弧
info:存储弧的信息 如权值
三丶十字链表
四丶多重邻接表
更新