最短路径算法(图论)
来源:互联网 发布:raphael js 流程图 编辑:程序博客网 时间:2024/05/16 18:18
前几天看了一下最短路径算法,现在做一下简单的流程总结:
有向图如下所示:
步骤如下:
1、准备两个集合A,B分别表示已经遍历的节点和未遍历的节点,从v1节点开始进行搜索,那么A = [v1(0)], B = [v4(1),v2(2),v3(∞),v7(∞),v6(∞),v5(∞)]
2、查找集合B中路径最短节点,即v4,重新更新集合得到A = [v1(0), v4(1)], B = [v2(2), v3(3), v5(3), v6(9), v7(5)]
3、从上一步骤中查找集合B中路径最短节点并放入A集合,然后更新集合B,得到A = [v1(0), v4(1), v2(2)] ,B = [v3(3), v5(3), v6(9), v7(5)]
4、继续重复上一操作将B中最短路径放入A中,此时B中的最短路径为v5,将其放入A集合并重新计算更新B集合,此时A = [v1(0), v4(1), v2(2), v5(3)] B = [v3(3), v6(9), v7(5)]
5、接下去将v3放入A集合,更新得到最新的A = [v1(0), v4(1), v2(2), v5(3), v3(3)] B = [v6(8), v7(5)]
6、将v7放入A集合,更新得到A = [v1(0), v4(1), v2(2), v5(3), v3(3), v7(5)] B = [v6(6)]
7、得到最终的集合A =[v1(0), v4(1), v2(2), v5(3), v3(3), v7(5), v6(6)]
因此最终得到从v1出发的到各个节点的最短路径的集合为[v1(0), v4(1), v2(2), v5(3), v3(3), v7(5), v6(6)]
- 最短路径算法(图论)
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- python redis
- 停止线程
- 【学习笔记】查询性能优化:重构查询方式
- Oracle 创建/调用函数小示例
- Java+Ajax实现用户名重复检验
- 最短路径算法(图论)
- 半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动
- 线程池的使用 ExecutorService newFixedThreadPool(int nThreads)
- 常用小方法整理3
- 切勿用普通for循环遍历LinkedList
- Java操作Excel文件
- 常用字符与ASCII代码对照表
- Show GPU Overdraw(GPU过渡渲染) 无效
- 如何在linux下编辑和修改文件