Dijkstra算法和前一篇的Prim算法非常像,区别就在于Dijkstra算法向最短路径树(SPT)中添加顶点的时候,是按照ta与源点的距离顺序进行的.OSPF动态路由协议就是用的Dijkstra算法.下面还以那个图的例子为例: 代码如下: _=float('inf') def dijkstra(graph,n): dis=[0]*n flag=[False]*n pre=[0]*n flag[0]=True k=0 for i in range(n): dis[i]=graph[k][i]…