Single-source shortest paths in directed graphs
来源:互联网 发布:单兵口粮淘宝卖犯法吗 编辑:程序博客网 时间:2024/06/05 06:12
此算法为<算法导论>中第24章第2小节关于single-source shortest paths in directed graphs原理的实现.
原著P592
#include<iostream>using namespace std;#define MAX 32767int N,M;int u,v,l,pos;int w[1000][1000],d[1000];int order[1000],parent[1000],visited[1000];int cnt=0;void DFS_Visited(int pos){visited[pos]=1;for(int i=0;i<N;++i){{if(w[pos][i]<MAX){if(visited[i]==0){DFS_Visited(i);}}}}order[cnt++]=pos;}void DFS(){for(int i=0;i<N;++i){if(visited[i]==0){DFS_Visited(i);}}}void Dag_Shortest_Path(int pos){DFS();for(int i=0;i<cnt;++i){if(order[i]==pos)d[i]=0;elsed[i]=MAX;}for(int i=0;i<cnt;++i){for(int j=0;j<N;++j){if(w[j][order[i]]<MAX){if(d[j]>d[i]+w[j][order[i]]){d[j]=d[i]+w[j][order[i]];parent[j]=order[i];}}}}for(int i=0;i<cnt;++i){cout<<"(pos:"<<order[i]<<"\tdis:"<<d[i]<<"\tparent:"<<parent[i]<<")\n";}}int main(){cin>>N>>M;for(int i=0;i<N;++i){for(int j=0;j<N;++j){w[i][j]=MAX;}w[i][i]=0;visited[i]=0;}for(int i=0;i<M;++i){cin>>u>>v>>l;w[u][v]=l;}cin>>pos;Dag_Shortest_Path(pos);return 0;}
测试数据:
测试数据(书上讲解的内容)61010520321231632742452243-153154-2
0 0
- Single-source shortest paths in directed graphs
- Single-Source Shortest Paths – Dijkstra’s Algorithm
- Shortest path in multistage graphs
- Single source shortest path
- 2011-02-27 CLRS Chapter24 Single-Source Shortest Paths 单源点最短路径
- 2011-02-28 CLRS Chapter24 Single-Source Shortest Paths (下) 单源点最短路径 下
- Minimum Spanning Trees - Prim’s algorithm & Single-Source Shortest Paths - Dijkstra’s algorithm
- 144D Missile Silos (data structures, graphs, shortest paths)
- Graph: Single Source Shortest Path(TODO)
- 《Algorithms》第4章:Paths in graphs 学习笔记
- Unit 2-Lecture6: Directed Acyclic Graphs & Scheduling
- Single-source shortest path problem: SPFA vs. Dijkstra
- 最短路径 Part I- Single source shortest path
- 单源最短路径(Single Source Shortest Path)--《算法导论》
- Shortest path in multistage graphs 图的最短路径问题
- Princeton Algorithms: Part 2 [week 1: Directed Graphs]
- (Shortest Paths Algorithm)
- Double Shortest Paths CSU
- RTC设备驱动
- IOS 字符串中去除特殊符号 stringByTrimmingCharactersInSet 应该用于账号登录等
- 【BZOJ1822】【JSOI2010】Frozen Nova 冷冻波
- 文件系统 1 之 根文件系统制作
- linux下的 fdisk
- Single-source shortest paths in directed graphs
- Cluster(Load-Balance) Oracle EBS Components
- UIWindow
- gpio操作
- WEB安全实战(六)防止浏览器记住用户名和密码
- 如何使用iFunbox读取下载app的包名bundle ID
- 文件系统 2 之 嵌入式Linux文件系统详细介绍
- 小马哥------高仿OPPO N1 移植测试完美版miui界面系统卡刷包 卡刷界面与开机界面面面观
- nyoj 8 一种排序