1.十字链表存储有向图
1.存储方式
-
分为顶点结点和弧结点两种结构体
-
顶点结点使用数组顺序存储,结构体包括:数据域,作为顶点弧头的第一条弧,作为顶点弧尾的第一条弧。
-
弧结点,结构体包括:弧头相同的下一条弧(指向当前结点的弧),弧尾相同的下一条弧(当前结点指向的弧)。
2.十字链表法性能分析
- 空间复杂度:O(|V|+|El)
- 找顶点的所有出边:顺着绿色路线
- 找顶点所有的入边:顺着橙色路线
2.邻接多重表存储无向图
1.存储方式
-
邻接多重表由顶点结点和边结点组成
-
顶点结点:使用数组顺序存储,包括数据域和指针(指向与该顶点相连的第一条边)
-
边结点:包含两个结点的数据域和指针(分别指向当前结点的下一条边)
2.性能分析
每一条边对应一份数据,删除边和结点时可以避免冗余的数据。
- 空间复杂度:o(|V|+|E|)
- 删除边、删除节点等操作很方便
- 注意:邻接多重表只适用于存储无向图
来源地址:https://blog.csdn.net/qq_61888137/article/details/132559019