最短路:dijkstra算法+路径输出 |
您所在的位置:网站首页 › arcaea100源点充值入口 › 最短路:dijkstra算法+路径输出 |
原理———之前看的一篇博客中有句解释这个过程的话感觉很棒:因为目前离 v1顶点最近的是 v3顶点,并且这个图所有的边都是正数,那么肯定不可能通过第三个顶点中转,使得 v1顶点到 v3顶点的路程进一步缩短了。因为 v1顶点到其它顶点的路程肯定没有 v1到 v3顶点短, 如图: 如何记录路径——在算法的实现过程中,可以想到,我们得到的是一棵最短路径树,根据树的特点,每个结点都只有一个父亲结点,所以我们就可以用一个一维数组存储路径,最后从终点开始逐步向上层遍历到根节点(即起点),从而得到路径。如上图,第一次遍历过后v1、v2、v3的父亲结点都是v0;第二次遍历v1点时,发现v0通过v1到v2(v0–>v1–>v2)比v0直接到v2(v0–v2)更近,便更新v2的父亲结点为v1。 第一次遍历结束path数组: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |