存图方式
今日份复习一下大概已知的存图方式:
矩阵存图:
很容易理解的一种存图方式,开一个矩阵,在其中假设一个数字(inf)为无穷大,,也就是不连通,那么不是这个数字的全是连通的,例如:a[i][j]=1;可以看成从点i到点j距离或者代价为1!
优点:容易理解,操作方便;
缺点:空间浪费率过高,不能表示很大的比如2e5的点!
点的大小在1000以内可以使用
前向星
没学过的点这个
优点:一个非常重要的存图方式,它通过链式的结构能够完整地把一张图存下来,能够表示2e5的数字点,同时空间利用率很高,能够快速查询一个点的所有直达点,能够利用前向星和优先队列对迪杰斯特拉算法进行优化操作
缺点:对于每一次单独查询两个点的查询速度过低,对于删除边操作有点麻烦(使用引用删边)。
唯一缺点:单独查边速度慢,删边的话也挺简单的。
vector建图
类似于前向星,从各个方面来说都想极了前向星存图
set建图
优点:可以快速删除边,便于查询不过我没怎么用过,其余我就不知道了。
来源:CSDN
作者:为秃头而生
链接:https://blog.csdn.net/qq_42937891/article/details/103916077