最短路径 Dijkstra算法
来源:互联网 发布:vue.js chrome插件 编辑:程序博客网 时间:2024/06/03 13:46
typedef struct MGraph{ int vexnum,arcnum; int AdjMatrix[vertex_num][vertex_num]; int vertex[vertex_num];}MGraph;//图的存储结构使用邻接矩阵表示vector<vector<int>> ShortestPath_DIJ(MGraph G){int flag[vertex_num];//记录当前节点是不是已经加入最短路径vector<vector<int>>p;int D[vertex_num];//记录当前最短路径集合到其余各点的最短路径for (int v=0;v<G.vexnum;v++){//初始化flag[v]=false;D[v]=G.AdjMatrix[0][v];vector<int> temp_vec;p.push_back(temp_vec);if (D[v]<MaxInt){p[v].push_back(0);p[v].push_back(v);}}D[0]=0;flag[0]=true;int select_v;for (int i=0;i<G.vexnum;i++){int min_len=MaxInt;for (int w=0;w<G.vexnum;w++){if (!flag[w]){if (D[w]<min_len){//当前D中最小的路径长度,作为下一个候选节点加入到最短路径中select_v=w;min_len=D[w];}}}flag[select_v]=true;for (int w=0;w<G.vexnum;w++){if (!flag[w]&&(min_len+G.AdjMatrix[select_v][w]<D[w])){D[w]=min_len+G.AdjMatrix[select_v][w];p[w]=p[select_v];p[w].push_back(w);}}}return p;}
0 0
- DIJKSTRA最短路径算法
- 最短路径算法-dijkstra
- dijkstra最短路径算法
- 最短路径 Dijkstra算法
- 最短路径(Dijkstra算法)
- 最短路径Dijkstra算法
- 最短路径 Dijkstra算法
- Dijkstra最短路径算法
- 最短路径dijkstra算法
- 最短路径 dijkstra算法
- 最短路径Dijkstra 算法
- 最短路径 (Dijkstra算法)
- Dijkstra最短路径算法
- 最短路径(Dijkstra算法)
- 最短路径--Dijkstra算法
- Dijkstra最短路径算法
- Dijkstra最短路径算法
- Dijkstra最短路径算法
- Codeforces 296B Yaroslav and Two Strings dp+容斥(入门
- Python函数小结(2)-- 装饰器、 lambda
- android 常用URI 值得记住
- 【leetcode】Valid Parentheses
- Android最佳实践之UI篇(20条UI最佳实践建议)
- 最短路径 Dijkstra算法
- Ansible的第一课:安装它
- sqlmap学习及代码简析
- 第十一讲_项目三_买玫瑰
- Web开发中可以用到的一些在线计算工具(一)
- 【leetcode】Two Sum
- 【Processing学习】Project1
- USACO——Your Ride Is Here 你的飞碟在这儿
- oc中的相对私有变量和方法