图例说明:

定义集合S,初始化只有源点s.把一个个顶点不断往里面收敛;
定义距离的数组dist.初始化为无穷;

时间复杂度:根据不同的实现
1.扫描所有未被收入的顶点,o:v^2+E,对于稠密图效果好。e=v^2(边的条数为点的平方级别,边多为稠密)
2.dist存储在最小堆中,取dist只要堆的根节点弹出就行,但是更新时候还要调节堆logv。复杂度elogv;对于稀疏图效果好。
e=v(边的条数与点的个数同级别)
本文详细介绍了图算法中最短路径的计算方法,通过定义集合S和距离数组dist,探讨了两种不同实现方式的时间复杂度。一种适用于稠密图,时间复杂度为O(V^2+E);另一种适用于稀疏图,利用最小堆优化,时间复杂度为ElogV。适合于对图算法和最短路径求解感兴趣的读者。
图例说明:

定义集合S,初始化只有源点s.把一个个顶点不断往里面收敛;
定义距离的数组dist.初始化为无穷;

时间复杂度:根据不同的实现
1.扫描所有未被收入的顶点,o:v^2+E,对于稠密图效果好。e=v^2(边的条数为点的平方级别,边多为稠密)
2.dist存储在最小堆中,取dist只要堆的根节点弹出就行,但是更新时候还要调节堆logv。复杂度elogv;对于稀疏图效果好。
e=v(边的条数与点的个数同级别)
1092

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