最短路之dijkstra
来源:互联网 发布:js获取焦点input边框 编辑:程序博客网 时间:2024/05/22 03:32
#include <stdio.h> int main() { int e[10][10],dis[10],book[10],i,j,n,m,t1,t2,t3,u,v,min; int inf=99999999; //用inf(infinity的缩写)存储一个我们认为的正无穷值 //读入n和m,n表示顶点个数,m表示边的条数 scanf("%d %d",&n,&m); //初始化 for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(i==j) e[i][j]=0; else e[i][j]=inf; //读入边 for(i=1;i<=m;i++) { scanf("%d %d %d",&t1,&t2,&t3); e[t1][t2]=t3; } //初始化dis数组,这里是1号顶点到其余各个顶点的初始路程 for(i=1;i<=n;i++) dis[i]=e[1][i]; //book数组初始化 for(i=1;i<=n;i++) book[i]=0; book[1]=1; //Dijkstra算法核心语句 for(i=1;i<=n-1;i++) { //找到离1号顶点最近的顶点 min=inf; for(j=1;j<=n;j++) { if(book[j]==0 && dis[j]<min) { min=dis[j]; u=j; } } book[u]=1; for(v=1;v<=n;v++) { if(e[u][v]<inf) { if(dis[v]>dis[u]+e[u][v]) dis[v]=dis[u]+e[u][v]; } } } //输出最终的结果 for(i=1;i<=n;i++) printf("%d ",dis[i]); getchar(); getchar(); return 0; }
1 0
- 最短路之dijkstra
- 最短路之Dijkstra
- 最短路之dijkstra
- 最短路之Dijkstra
- 最短路之dijkstra
- 最短路之dijkstra
- 最短路之dijkstra
- 最短路算法之Dijkstra
- 最短路之dijkstra 算法
- 最短路之Dijkstra算法
- 最短路算法之dijkstra
- 最短路之Dijkstra---HDU1874
- 最短路之Dijkstra算法
- hdu 2544 最短路(最短路算法之Dijkstra)
- 最短路算法之 Dijkstra算法
- 图论浅析--最短路之Dijkstra
- 最短路之 dijkstra & floyed &SPFA
- 最短路算法之Dijkstra算法
- 最短路之floyd
- 清华EMBA课程系列思考之十 -- 中国政治与法制
- Context都没弄明白,还怎么做Android开发?
- XCode快捷键
- html5中页面拨打电话的方式
- 最短路之dijkstra
- android material design之简单控件(八)
- 线程池简介
- 【JZOJ 3466】 选课 select
- svn客户端,重新输入用户名密码
- HDOJ 3547 DIY Cube
- Java简单的泛型类和接口
- android Studio 快捷键
- 机器学习笔记目录