Dijkstra算法
来源:互联网 发布:淘宝卖家不参加双十一 编辑:程序博客网 时间:2024/06/14 04:19
算法详解:
Dijkstra算法(二)之 C++详解
http://www.cnblogs.com/skywang12345/p/3711514.html
实例代码:
//// 6 9// 1 2 1// 1 3 12// 2 3 9// 2 4 3// 3 5 5// 4 3 4// 4 5 13// 4 6 15// 5 6 4#include<iostream>#include<cstring>#define inf 999999using namespace std;bool mark[inf];int store[100][100];int rst[inf];int main(){ int n,m; while(cin>>n>>m) { if(!n&&!m) break; memset(mark,0,sizeof(mark)); memset(store,inf,sizeof(store)); memset(rst,0,sizeof(rst)); for(int i=1;i<=m;i++) { int a,b,c; cin>>a>>b>>c; store[a][b]=c; store[b][a]=c; } for(int i=1;i<=n;i++) { store[i][i]=0; rst[i]=store[1][i]; } mark[1]=true; int j=n-1; while(j--) { int minl=inf; int k; for(int i=1;i<=n;i++) { if(!mark[i]&&rst[i]<minl) { minl=rst[i]; k=i; } } mark[k]=true; for(int i=1;i<=n;i++) { if(store[k][i]<inf) if(!mark[i]&&rst[i]>rst[k]+store[k][i]) rst[i]=rst[k]+store[k][i]; } } for(int i=1;i<=n;i++) { cout<<1<<"->"<<i<<" "<<rst[i]<<endl; } }}
阅读全文
0 0
- Dijkstra算法
- dijkstra算法
- Dijkstra算法
- Dijkstra算法
- Dijkstra算法
- Dijkstra算法
- Dijkstra 算法
- Dijkstra算法
- Dijkstra算法
- Dijkstra算法
- Dijkstra 算法
- Dijkstra 算法
- dijkstra算法
- Dijkstra 算法
- Dijkstra算法
- Dijkstra算法
- Dijkstra算法
- dijkstra算法
- win7设置桌面豆绿色
- JAVA使用Socket实现多人通讯以及文件传输
- mac终端运行c语言程序
- Java的动态代理
- Spring boot入门篇
- Dijkstra算法
- struts2.3 升级 struts2.5
- Java疯狂讲义读书笔记第四章
- 求1900到2017的闰年天数
- 性能统计器之利器SamplingProfilerIntegration
- ajax
- (三)装饰模式
- 对jquery的引用
- Java_基础—finally关键字的特点及作用