dijkstra 求最短路径
来源:互联网 发布:淘宝怎么设置自动回复 编辑:程序博客网 时间:2024/05/01 06:40
dijkstra算法写起来很容易,但是理解,证明它的正确性却不容易。
#include"Graph.h"#include<assert.h>#include<iostream>#include<fstream>#include<limits>using namespace std;const int MAX=std::numeric_limits<int>:: max();int main(){ifstream cin("input.txt");int vertex_num=5;Graph<char,int> myGraph(vertex_num);myGraph.Init(cin);//myGraph.RandInit();int *visited=new int[vertex_num];int *dis=new int[vertex_num];int *output=new int[vertex_num];visited[0]=1;output[0]=0;for(int i=1;i<vertex_num;i++){dis[i]=myGraph.getWeight(0,i);visited[i]=0;output[i]=0;}for(int i=1;i<vertex_num;i++){int min=MAX;int min_index=-1;for(int j=0;j<vertex_num;j++){if(visited[j]==0&&dis[j]<min){min=dis[j];min_index=j;}}visited[min_index]=1;for(int j=0;j<vertex_num;j++){int temp_weight;if(visited[j]==0&&(temp_weight=myGraph.getWeight(min_index,j))<MAX&&dis[j]>dis[min_index]+temp_weight){dis[j]=dis[min_index]+temp_weight;output[j]=min_index;}}}for(int i=1;i<vertex_num;i++){int j=i;cout<<j<<"到0的路径是长度:"<<dis[j]<<"路径是:";while(j!=0){cout<<j<<" ";j=output[j];}cout<<0<<endl;}return 0;}
- Dijkstra求最短路径
- 求最短路径(dijkstra)
- dijkstra 求最短路径算法
- dijkstra 求最短路径
- Dijkstra算法求最短路径
- Dijkstra 算法求最短路径
- 解析dijkstra求最短路径
- Dijkstra算法求最短路径
- Dijkstra算法求最短路径
- Dijkstra 求最短路径算法
- Dijkstra求最短路径
- dijkstra求最短路径(水题)
- Dijkstra算法 ---求最短路径
- Dijkstra求最短路径
- dijkstra求最短路径长度
- Dijkstra算法求最短路径
- dijkstra算法求最短路径
- Dijkstra求最短路径
- 基于ZooKeeper大规模集群配置系统概述
- 我对DX11的理解和简化框架与快速游戏制作(续4)
- extjs 2 dwr传递对象
- Python程序出炉了
- hadoop的心跳回忆
- dijkstra 求最短路径
- 基于ZooKeeper构建大规模配置系统II
- asp.net jquery 调用websercie填充GRID的问题
- c# 线程间操作无效
- showModalDialog 命令的使用
- POJ1222(高斯消元)
- GPS常见问题解答[厦门天伯电子科技有限公司]
- IPhone平滑滚动效果的实现
- HDFS读写过程解析