Dijkstra算法:单源最短路径

1、问题:

算法分析与设计-作业二-Dijkstra算法

2、算法分析:

算法分析与设计-作业二-Dijkstra算法
算法分析与设计-作业二-Dijkstra算法
算法分析与设计-作业二-Dijkstra算法

3、算法设计

Collected数组用来判断顶点是否被收录,dist用来保存最短路径,path保存上一个连接的顶点
s为原点
先初始化数组:
Collected=0
Dist[v]=Graph->G[s][v];v:0->Graph->nv-1
Path[v]=s;
/*/收录s原点:
Dist[s]=0;
Collected[s]=1;
Path[s]=-1;
While(1){
V=/未收录顶点中最小权值的点/
如果v==-1 break;
/更新dist/
如果w未收录且与v连通
如果Graph->G[v][w]<0return flase
如果Dist[v]+Graph->G[v][w]<dist[w]
更新dist[w]
}
Return true
}

4、源码:

源码地址:https://github.com/ACynj/Dijkstra.git

相关文章:

  • 2021-05-21
  • 2021-04-21
  • 2021-05-20
  • 2021-04-23
  • 2021-10-25
  • 2021-07-24
  • 2022-03-06
  • 2021-10-03
猜你喜欢
  • 2021-11-01
  • 2021-11-16
  • 2022-01-05
  • 2021-07-25
  • 2021-11-01
  • 2021-04-01
相关资源
相似解决方案