收藏 分销(赏)

最优路径算法.doc

上传人:pc****0 文档编号:9440033 上传时间:2025-03-26 格式:DOC 页数:3 大小:148KB
下载 相关 举报
最优路径算法.doc_第1页
第1页 / 共3页
最优路径算法.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述
解决方案一: Dijkstra算法(单源最短路径) 单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。 一.最短路径的最优子结构性质 该性质描述为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k到s的最短路径。下面证明该性质的正确性。 假设P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,则有P(i,j)=P(i,k)+P(k,s)+P(s,j)。而P(k,s)不是从k到s的最短距离,那么必定存在另一条从k到s的最短路径P'(k,s),那么P'(i,j)=P(i,k)+P'(k,s)+P(s,j)<P(i,j)。则与P(i,j)是从i到j的最短路径相矛盾。因此该性质得证。 二.Dijkstra算法 由上述性质可知,如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从i到k的最短路径。为了求出最短路径,Dijkstra就提出了以最短路径长度递增,逐次生成最短路径的算法。譬如对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么当前已知可得从V0到达Vj顶点的最短距离dist[j]=min{dist[j],dist[i]+matrix[i][j]}。根据这种思路, 假设存在G=<V,E>,源顶点为V0,U={V0},dist[i]记录V0到i的最短距离,path[i]记录从V0到i路径上的i前面的一个顶点。 1.从V-U中选择使dist[i]值最小的顶点i,将i加入到U中; 2.更新与i直接相邻顶点的dist值。(dist[j]=min{dist[j],dist[i]+matrix[i][j]}) 3.知道U=V,停止。   测试数据:      运行结果:    解决方案2 ArcGIS for Android 查找最短路径 ArcGIS for Android(10.1.1)只支持在线的网络分析,执行路径分析可以通过RoutingTask类的solve方法来进行,通过给slove方法传递RoutingParameters类型的参数,可以最短路径的查找。而要成功执行路径分析,就必须发布网络分析服务,比较麻烦,下面的代码中使用的服务是arcgisonline.上已经发布的服务。以下代码程序的界面如下: 界面包含两控件:TextView和MapView,在执行路径分析前单击MapView会增加路径分析的停靠点,长按MapView会根据停靠点(至少要两个停靠点)执行查找最短路径的操作,执行成功之后会在TextView中显示相关的路径信息,这时候单击查询的路径,会选中路径片段,相关的信息也会在TextView上显示。单击TextView就会清空所有结果,恢复到原始状态。 结果:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服