最短路径算法
来源:互联网 发布:物业软件 编辑:程序博客网 时间:2024/05/29 16:30
最短路径算法:
最短路径 ,迪杰斯特拉算法,就是基于广度优先的思想的,也是贪婪算法的思想
广度优先搜索(迪杰斯特拉算法):
这个算法实现:
**从起点开始,首先标记起点为已知,这时,我们就好像能看到这个点能通往其他点的路了(这就是边的两个点)
**维护一个记录表,记录下这个点能通往下一个点路径和通向第一个点所需要的权重,并把下一个所有可达点入队
**从队列中取一个点出来,再次标为已知;这是又会产生很多路径,联合已知的点,更新记录表(如果表中没有的路径,添加进去即可;如果表中有,但是新发现的路径更优,则将最优的更新到表中;如果新的路径不比旧的路径更优,则放弃这个数据)
**这种横向的层次遍历全部后,这个记录表就是最优的路径了,只要从中选出你的目的地即可
图出自:http://blog.csdn.net/javyzheng/article/details/12384287
下图演示算法运行(该图还包括是否known的变化,代码中是不需要的)
以v3为开始顶点(无权图)
这个思想,我所知的就是计算机网络中对路由表的维护了,OSPF算法:
https://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E5%BC%8F%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E4%BC%98%E5%85%88
0 0
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 最短路径算法
- 大尾端小尾端
- 设计模式:桥接模式(Bridge)
- request.getParameter() 和request.getAttribute() 区别
- 通过命令查询并关闭占有端口的任务
- Floyd算法的java实现
- 最短路径算法
- 嵌入式Linux编译器gcc使用
- [译]Android高级技巧: Renderscript优化模糊效果
- mac上同时安装多个jdk,选择版本
- JAVA中关于DATE时间日期加减、String与Date类型的转换
- Linux学习笔记1
- List,Set,Map
- 【java基础概念】(2016/3/28)
- Android系统Recovery工作原理之使用update.zip升级过程分析