关于数据结构中图的储存方式的选择?

比较常见的三种图的储存方式邻接矩阵,邻接链表和边集数组有各自的缺点和优点,我明白如果是稠密图的话用邻接矩阵较好,稀疏图的话邻接链表和边集数组都适合,但是在储存稀疏图的时候什么时候是最适合用邻接链表储存什么时候最适合用边集数组储存呢?换句话说,如果有一个稀疏图,那我是用邻接链表储存更好呢还是边集数组储存更好呢?求各位大佬解惑,谢谢!!

首先你要明白,邻接链表存图的空间复杂度与图中边的数量有关(O(N+E) E表示图中边的数目),而数组存图空间复杂度与点数有关(O(N^2)N表示点数)
看点的数量,如果点的数量不是很大(比如几百个左右或者更小)那么二者都可以选择。
如果点的数量过大的话,用数组存储稀疏图会造成大量的空间浪费,此时选择使用邻接表更好。
温馨提示:答案为网友推荐,仅供参考
相似回答