动态规划之Bellman-Ford最短路径
来源:互联网 发布:淘宝联盟淘客贷款 编辑:程序博客网 时间:2024/06/05 20:48
参考程序:
http://www.java3z.com/cwbwebhome/article/article1/1359.html?id=4720
#include<limits>#include<iostream>#include<iomanip>#include<stack>using namespace std;const int NUM = 6;void BellmanFord(int sourceVer, float cost[][NUM+1], float dis[], int path[]);float cost[NUM+1][NUM+1] = { {0,0,0,0,0,0,0},{0,0,2,4,INT_MAX,INT_MAX,INT_MAX},{0,INT_MAX,0,-3,1,5,INT_MAX},{0,INT_MAX,INT_MAX,0,-4,-2,INT_MAX},{0,INT_MAX,INT_MAX,INT_MAX,0,INT_MAX,8},{0,INT_MAX,INT_MAX,INT_MAX,4,0,6},{0,INT_MAX,INT_MAX,INT_MAX,INT_MAX,INT_MAX}};int _tmain(int argc, _TCHAR* argv[]){int source = 1;float dis[NUM+1];int path[NUM+1];BellmanFord( source, cost, dis, path);for(int vertex = 1; vertex<=NUM; vertex++){if( vertex != source ){stack<int> pathStack;cout <<"The distance from" << setw(5) << source << " to" << setw(5) << vertex << " is" << setw(5) << dis[vertex] << ", " << "The path is:" << endl;pathStack.push(vertex);int nextVer = path[vertex];do{nextVer = path[nextVer];pathStack.push(nextVer);}while(nextVer != source);while( !pathStack.empty() ){cout << pathStack.top() << setw(5);pathStack.pop();}cout << endl;}}return 0;}void BellmanFord(int sourceVer, float cost[][NUM+1], float dis[], int path[]){for(int i = 1; i <= NUM; i++){dis[i] = cost[sourceVer][i];if( cost[sourceVer][i] != INT_MAX )path[i] = sourceVer;elsepath[i] = -1;}for(int pathEdgeNum = 2; pathEdgeNum <= NUM-1; pathEdgeNum++){for(int vertexNum = 1; vertexNum <= NUM; vertexNum++){if( vertexNum!=sourceVer ){for(int midVertexNum = 1; midVertexNum <= NUM; midVertexNum++){if( cost[midVertexNum][vertexNum] != INT_MAX && dis[midVertexNum] != INT_MAX){int tmpDis = dis[midVertexNum] + cost[midVertexNum][vertexNum];if( dis[vertexNum] > tmpDis){dis[vertexNum] = tmpDis;path[vertexNum] = midVertexNum;}}}}}}}
0 0
- 动态规划之Bellman-Ford最短路径
- 【算法】最短路径之Bellman-Ford
- 四、最短路径之Bellman-Ford与SPFA
- 算法笔记---最短路径之bellman-ford算法
- 最短路径之Bellman-Ford算法----解决负权边
- Wormholes-------最短路径Bellman ford
- Bellman-Ford求解单元最短路径
- 最短路径算法---Bellman-Ford
- 最短路径Bellman-Ford算法
- 最短路径bellman-ford算法模板
- Bellman Ford 最短路径算法
- Bellman-Ford 最短路径的实现
- Bellman-Ford算法【最短路径】
- Bellman ford 最短路径算法
- BellMan-Ford算法--寻找最短路径
- 【图】最短路径Bellman-Ford算法
- 最短路径(Bellman-Ford算法)
- 最短路径算法—Bellman-Ford
- Android开发往模拟器传输文件
- hive大数据倾斜总结
- 杰克琼斯 - 杭州 门店地址 电话
- 多线程编程 实战篇 (二)
- web前端开发需要学习什么内容已经需要使用什么开发工具?
- 动态规划之Bellman-Ford最短路径
- Lua 语言输出Table详细信息的实现
- 【数据库】SQL注入攻击
- Win7系统快速定位照片及快速查找文档
- Triangle
- 查找数组中第二个最小元素
- ASP.NET MVC5(3)数据从控制器传递给视图
- java基础
- CSR 8670 开启 GAIA 编译 BLUELIB