博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DIJKSTRA 临接表
阅读量:7061 次
发布时间:2019-06-28

本文共 1032 字,大约阅读时间需要 3 分钟。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 int value[10010],to[10010],next[10010]; 9 int head[10010],total;10 int book[10010];11 int dis[10010];12 int n,m;13 void adl(int a,int b,int c)14 {15 total++;16 to[total]=b;17 value[total]=c;18 next[total]=head[a];19 head[a]=total;20 }21 void dijkstra(int u)22 {23 memset(dis,88,sizeof(dis));24 memset(book,0,sizeof(book));25 dis[u]=0;26 for(int i=1;i<=n;i++)27 {28 int start=-1;29 for(int j=1;j<=n;j++)30 if(book[j]==0 && (dis[start]>dis[j] || start==-1))31 start=j;32 book[start]=1;33 for(int e=head[start];e;e=next[e])34 dis[to[e]]=min(dis[to[e]],dis[start]+value[e]);35 }36 }37 int main()38 {39 cin>>n>>m;40 for(int i=1;i<=m;i++)41 {42 int a,b,c;43 cin>>a>>b>>c;44 adl(a,b,c);45 } 46 dijkstra(1);47 for(int i=1;i<=n;i++)48 cout<
<<" ";49 }
View Code

 

转载于:https://www.cnblogs.com/dfzg/p/7569533.html

你可能感兴趣的文章
centos6.5、centos6.6修改ssh默认端口号
查看>>
文本文件和二进制文件
查看>>
轻量级smurf源码
查看>>
linux下桌面环境的介绍及VNC的使用
查看>>
深浅拷贝——string
查看>>
主从复制模式下跳过错误
查看>>
剑指offer17
查看>>
samba文件共享
查看>>
WannaCry勒索软件还在继续传播和感染中
查看>>
TarsGo新版本发布,支持protobuf,zipkin和自定义插件
查看>>
Snap up RS3gold 3500M 60% off rs3 for sale &learn
查看>>
oracle函数
查看>>
json与String的转化
查看>>
linux上解压版安装jdk,tomcat
查看>>
科略教育—企业为什么始终处于竞争状态?
查看>>
iphone开发
查看>>
解决:在微信中访问app下载链接提示“已停止访问该网页”
查看>>
使用阿里云ECS自建RDS MySQL从库
查看>>
Linux下sed命令
查看>>
胃病犯了怎么办
查看>>