# Dijkstra算法求最短生成路径 ## 简介 **最短路径**:在网图中,两顶点之间经历的边上权值之和最少的路径。 **Dijkstra算法**: 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 `基本思想`: 1.初始化数组dist,path和s 2.while(s中的元素个数 v = new ArrayList<>(); //路径 String[] path = new String[mGragh.vertexNum]; //边集权值 int[] dist = new int[mGragh.vertexNum]; //初始化dist,path for (int i = 0; idist[k] + mGragh.arc[k][i]){ dist[i] = dist[k] + mGragh.arc[k][i]; path[i] = path[k] + "V" + i; } } dist[k] = 0; } } } ``` ## 参考文献 * 王红梅,胡明,王涛编著. 数据结构(C++版)(第二版)[M]. 清华大学出版社. 最后修改:2020 年 03 月 14 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏
1 条评论
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/11577.html