最短路径
来源:互联网 发布:搞怪软件p图软件 编辑:程序博客网 时间:2024/05/04 20:35
问题描述:
给定一个网络,如何计算两点之间的最短路径。
这里的路径可以看做一个权重函数,实际中可以是网络延时,成本等。
Dijkstra‘s 算法:(动态规划思想)
思路: 假设A到B的最短路径是A-C-B,则显然A-C与C-B均为最短路径。
这样就符合子问题也是最优解的条件。
具体算法:
构建2个集合 A, B
A为以已计算好最短路径点的集合, B为其余顶点集合。
初始A只包含出发点a,其余顶点放入B。
步骤1: 将出发顶点a入集合A,其余顶点入集合B。并计算w(b) = weight(a,b)
while (集合B非空)
从集合B中选择一个顶点b,满足w(b)最小
将b从集合B移出,并放入集合A
更新集合B中与b相连的顶点c (如果w(c) > w(b) + weight(b,c), w(c) = w(b) + weight(b,c))
最后,得到的w(b)即为各顶点到a的最短距离。
0 0
- 最短路径算法
- 最短路径算法
- 最短路径理解
- 最短路径算法
- 最短路径算法
- 最短路径问题
- 最短路径
- 最短路径
- 最短路径算法
- 图@ 最短路径
- 最短路径
- 最短路径算法
- 最短路径
- hdu2544(最短路径)
- 最短路径问题
- 最短路径问题
- 最短路径算法
- 最短路径算法
- JVM调优总结(一):基础概念、数据类型、堆与栈
- 北师大 ------ 星际战争
- mybatis参考
- 数位统计
- Win32 Hello World程序[转]
- 最短路径
- C语言经典算法100例-031-判断星期几
- CF 405D - Toy Sum 潜在规律
- PL/SQL之DBMS_SQL程序包使用1
- 两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEvent(图文)!
- 抽象工厂
- UVA 10361 Automatic Poetry
- 玩转Web之easyui(二)-----easy ui 异步加载生成树节点(Tree),点击树生成tab(选项卡)
- 凡事预则立,不预则废