源点-汇点最短路径快速算法(2)-欧几得米试探法-类Dijkstra算法
来源:互联网 发布:阿里云公共镜像是什么 编辑:程序博客网 时间:2024/06/09 14:21
1、欧几米得网络中的源点-汇点最短路径问题即:解决任2点之间的最短路径问题。欧几米得网络也是对称的:边具有双向性,将无向加权欧几米得图解决成加权有向图时,能马上得到此网络。
2、这些网络满足以下两条重要性质
1)距离满足三角不等式:s->d的距离<=(s->x的距离)+(x->d的距离)
2)顶点位置给出了路径长度的下限:从s到d的路径>=s到d的距离
3、在查找从源点S到汇点D的一条路径时,遇到了第三个顶点V,可知道,我们不仅要通过已经发现的从S到V的路径,而且下一步从V到D的最佳行进方式(只是最理想的情况)为:首先走边V-W,然后找到一条长度等于W到D之间的直线距离的路径
4、使用以下改进后的标准算法,
1)使用以下3个量的和做为每条边V-W的权重(即WT[W])=(S到V的已知路径长度)+(边V-W权重)+(从W到T的距离)
2)优先级定义为以下函数(dist为返回两个顶点间距离的函数),该优先级也就是WT[T->V]:
( wt[v]-dist(v,d)) + t->wt + dist(t->v,d)
注意:由1)可知:(wt[v]-dist(v,d))为从S->V的最短路径长度
3)C代码如下(使用类Dijkstra算法的标准DFS实现):
5、通过优先级方式和Dijkstra算法来解决,称这种运算方法为欧几得米试探法,
6、试探法揭示的几何性:
1)如果从S到D的最短路径是Z,则算法检查的顶点大致位于一个椭圆内,这个椭圆由点X的轨迹定义,在此椭圆上,从S到X的距离加上从X到D的距离先于Z。对于典型的欧几米得图,这个椭圆内的顶点期望数少于以Z为半径、以源点为圆心的圆内顶点数
- 源点-汇点最短路径快速算法(2)-欧几得米试探法-类Dijkstra算法
- 单源点最短路径算法(dijkstra)
- 单源点最短路径----Dijkstra算法
- 单源点最短路径(dijkstra算法)
- 【数据结构】算法7.15 Dijkstra算法 单源点最短路径
- 图的最短路径(三)-单源点最短路径(Dijkstra算法)
- 单源点最短路径Dijkstra算法的JAVA实现
- 单源点最短路径Dijkstra算法的JAVA实现
- 单源点最短路径问题(Dijkstra算法)
- 单源点最短路径的Dijkstra算法
- 最短路径(Dijkstra算法)也就是单源点问题!
- dijkstra算法求解单源点最短路径
- SPFA算法 快速Bellaman-ford算法 源点最短路径
- 单源最短路径--Dijkstra算法
- 1.8 试探法算法
- 算法储备之Dijkstra算法求单源点最短路径
- 算法:回溯(试探)算法
- 一个例子让你明白一个算法-Dijkstra(求源点到各顶点最短路径)
- ALSA SOC架构关键点
- tokyo tyrant 在 php 上不能自动反序列化的问题
- ftp可以正常登录,但登录后执行ftp命令没有响应
- 字符串匹配-位并行和复杂度表示法
- ibatis这问题哪里错了,查不出数据
- 源点-汇点最短路径快速算法(2)-欧几得米试探法-类Dijkstra算法
- ActiveX插件点滴
- 病毒编写教程---Win32篇(四)
- 取得控件的区域
- 关机和重启在Linux Kernel中的哪些函数里实现?
- 树-遍历
- Torque 游戏引擎简介
- 颜色选择对话框CColorDialog类
- ftp规范