dijkstra求单源最短路径以及路径记录
来源:互联网 发布:精美ppt制作软件 编辑:程序博客网 时间:2024/06/05 07:01
#define MAXINT 0xff#define MAXSIZE 1000#include#includeusing namespace std;int amapBorder[MAXSIZE][MAXSIZE];int vNum = 6;void initmap(){for(int i = 1 ; i < vNum + 1 ; i++){for(int j = 1 ; j < vNum + 1 ; j++){amapBorder[i][j] = MAXINT;}}amapBorder[1][2] = 6;amapBorder[1][3] = 3;amapBorder[2][3] = 2;amapBorder[2][4] = 5;amapBorder[3][4] = 3;amapBorder[3][5] = 4;amapBorder[4][5] = 2;amapBorder[4][6] = 3;amapBorder[5][6] = 5;for(int i = 1 ; i < vNum + 1 ; i++){for(int j = 1 ; j < vNum + 1 ; j++){if(i == j){amapBorder[i][j] = 0;}if(amapBorder[i][j] == MAXINT){amapBorder[i][j] = amapBorder[j][i];}}}}void dijstra(int vo){int U[7] = {0} , dist[7] = {0};int path[7];for(int i = 1 ; i < vNum + 1 ; i++){dist[i] = amapBorder[vo][i];if(dist[i] == MAXINT){path[i] = -1;}else{path[i] = vo; //记录当前节点的上一个节点}}for(int i = 1 ; i < vNum + 1 ; i ++){int minNum = MAXINT;int temp = vo;for( int j = 1 ; j < vNum + 1 ; j++){if((!U[j]) && dist[j] < minNum ){minNum = dist[j];temp = j;}}U[temp] = 1;for(int j = 1; j < vNum + 1 ; j++){if(!U[j] && amapBorder[temp][j] < MAXINT){if(dist[j] > amapBorder[temp][j] + dist[temp]){dist[j] = amapBorder[temp][j] + dist[temp];path[j] = temp;}}}}for(int i = 1; i < vNum + 1 ; i++){cout << i << ": " << dist[i] << " ";int j = i;cout << j << "<-";while(path[j] != vo){j = path[j];cout << j << "<-";}cout << vo << endl;}}
阅读全文
0 0
- dijkstra求单源最短路径以及路径记录
- Dijkstra?+spfa+路径的记录
- poj 1122 dijkstra+记录路径
- Dijkstra 算法求单源最短路径
- Dijkstra算法求单源最短路径
- Dijkstra算法求单源最短路径
- Dijkstra算法求单源最短路径
- Dijkstra 求单源最短路径
- Dijkstra求单源最短路径
- Dijkstra算法求单源最短路径
- Dijkstra算法求单源最短路径
- poj2457--dijkstra算法的路径记录
- POJ 2457 Part Acquisition (Dijkstra + 记录路径)
- L2-001. 紧急救援(dijkstra+记录路径)
- dijkstra求最短路并记录路径
- dijkstra算法记录路径 C++程序
- 20170813(两道题-dijkstra记录路径 BFS)
- Dijkstra算法,求单源最短路径(包含路径)
- 20171220Link
- Android自动化测试 UI Automator
- 结合thymeleaf js取值
- 常用AT指令
- JVM系列二:GC策略&内存申请、对象衰老
- dijkstra求单源最短路径以及路径记录
- openstack newton dashboard报错RuntimeError: Unable to create a new session key. It is likely that the
- 23种设计模式【转载】
- 剑指offer 编程题(24):链表复制
- LDAP用户验证(Spring-LDAP)
- Android常用面试题(一)
- Java 学习之过错(二)
- 12月19日云栖精选夜读:开源PaaS工具CloudFoundry落地阿里云
- (框架)新手了解的一部分知识点--慢慢补充