最近在做网络拓扑相关的研究,各种经典算法自然是绕不过去的,由于数据量比较大,决定用链式前向星来存图,网上找一圈,PYTHON+链式前向星的代码没找到,于是乎决定自己写一下,不写不知道,写了才吓一跳,代码能力真是弱掉渣了。
一、背景介绍
1.链式前向星
内容引用自以下两篇文章:
https://blog.csdn.net/Binary_Heap/article/details/78209086
https://blog.csdn.net/ACdreamers/article/details/16902023
2.Dijkstra
算法详解:https://blog.csdn.net/qq_35644234/article/details/60870719
编程思路概括:
visited:已确定最短路径的顶点的集合,distance:源点到每个顶点的距离,初始设为无穷大,V每次确定的最小值对应的点
V初始为源点
a.从V出发,遍历以V为起点的所有边v表示任意一个与V相邻,且未确定最短路径的点,得到weight,如果 len(s