图算法-最小路径
来源:互联网 发布:淘宝卖家骗好评 投诉 编辑:程序博客网 时间:2024/04/28 18:35
1、最小路径算法之Dijkstra算法
void ShortestPath_Dijkstra(int startVertexNum, int[] shortestPath, int[] shortestDistance)//根据Dijkstra法计算距离指定顶点的最短路径 { bool[] isDone=new bool[vertexNums]; //初始化基本信息,包括最短路径信息,最短距离信息,是否找到最短距离信息 for (int i = 0; i < vertexNums; i++) { shortestDistance[i] = edges[i, startVertexNum].weight; if (shortestDistance[i] < int.MaxValue) shortestPath[i] = startVertexNum;//将最短路径初始化为原点号 isDone[i] = false; } shortestDistance[startVertexNum] = 0; isDone[startVertexNum] = true; //开始主循环,每次求得起始点到各点的最短路径 for (int i = 1; i < vertexNums; i++) { int min = int.MaxValue; int minIndex = 0; for (int j = 0; j < vertexNums; j++) { if (!isDone[j] && shortestDistance[j] < min) { min = shortestDistance[j]; minIndex = j; } } isDone[minIndex] = true; //以当前找到最短路径的顶点为中间点,修改相关点权值 for (int j = 0; j < vertexNums; j++) { if (!isDone[j] && min + edges[minIndex, j].weight < shortestDistance[j]) { shortestDistance[j] = min + edges[minIndex, j].weight; shortestPath[j] = minIndex; } } } }
0 0
- 图算法-最小路径
- 图之Dijkstra算法、Floyd算法(最小路径问题)
- 【算法学习】最小路径覆盖
- Dijkstr 算法 求单源最小路径
- 【算法复习】Dijkstra寻图的最小路径
- hdu1151(二分图+最小路径覆盖数+匈牙利算法)
- Hopcroft-Karp算法 二分图最小路径覆盖
- dijkstra和floyd算法计算图中最小路径
- 26、图算法-最小生成树、最短路径
- 二分图-最大匹配,最小路径覆盖,最小点覆盖(KM算法)
- 图-最小路径
- 二分图最小路径
- 【图】最小路径
- 最小点路径覆盖(匈牙利算法)
- 数据结构算法(1) 最小路径
- hdu2389 1151 最小路径覆盖HK算法
- 最小生成树,最短路径算法
- 二维数组最小路径和(算法)
- swift学习:9.枚举
- linux下c语言多线程编程案例
- 一个网盘OpenDrive
- 分析Button的android:layout_marginBottom参数失效问题
- 《C#高级编程》【第二章】核心C#编程 -- 学习笔记
- 图算法-最小路径
- OpenCV 与 OpenGL 与 DirectX
- 7天学会MVC——第2天
- Swift学习:10.运算符
- liferay portal 开发环境
- IOS基础学习笔记一:UIView学习
- IOS 用openCv实现简单的扣人像的
- PHP源码分析
- 两种方法获得状态栏高度f