最短路 dijskal
2015-11-15 16:57
656 查看
这是最短路的dijskal的实现
关于这个算法的讲解的话,前人的讲解已经足矣,所以这里不进行讲解
路径的输出:
关于这个算法的讲解的话,前人的讲解已经足矣,所以这里不进行讲解
void dijskal(int start){ memset(dis,INF,sizeof(dis)); memset(vis,0,sizeof(vis)); for(int i=0;i<n;i++ ){ dis[i]=mp[start][i]; point[i]=start; } vis[start]=1,dis[start]=0; for(int i=1;i<n;i++){ int minn=INF,p; for(int j=0;j<n;j++){ if(!vis[j] && dis[j]!=INF && dis[j]<minn){ minn=dis[j]; p=j; } } vis[p]=1; for(int j=0;j<n;j++){ if(!vis[j] && mp[p][j]!=INF){ if(dis[j]>minn+mp[p][j]){ dis[j]=minn+mp[p][j]; point[j]=p; } } } } }
路径的输出:
void display(int j){ if(j==-1) return ; else { display(point[j]); cout<<" "<<a[j]; } }
相关文章推荐
- 在js中关于随机函数的使用
- javaScript-函数
- javascript延迟加载及异步(defer和async)
- javaScript-引用类型(三)
- 使用 JavaScript 实现基本队列、优先队列和循环队列
- javascript快速入门第二章基础知识(下)
- 《JavaScript高级程序设计(第3版)》读书笔记(二)
- JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
- 浅谈JavaScript中的对象及Promise对象的实现
- JS的URL编码
- 危险的jsonp
- 常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式
- JSP中请求转发和重定向区别和中文乱码问题解决方法
- 【JavaScript】——BOM+demo
- javascript快速入门第一章基础知识(上)
- javascript 中的 delete及delete运算符
- JScrollPane滑动灵敏度设置
- JSP九大内置对象
- js实现私有变量
- javascript笔记