• 3230阅读
  • 33回复

[原创]开荒最短路径计算方法-基于Dijkstra算法的maphack改进方向 [复制链接]

上一主题 下一主题
离线夏夜星空
< PY战队 >
 

发帖
5347
金钱
26089
91币
2245
信誉
0
资产
0 IST
在线时间
3087 小时
注册时间
2010-11-29
最后登录
2024-05-08
只看楼主 倒序阅读 使用道具 楼主  发表于: 2020-09-03 13:01:00

https://baike.baidu.com/item/%E8%BF%AA%E5%85%8B%E6%96%AF%E7%89%B9%E6%8B%89%E7%AE%97%E6%B3%95/23665989?fromtitle=Dijkstra%E7%AE%97%E6%B3%95&fromid=215612

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。

典型算法应用场景:

计算出鲁高因到遗失的城市之间最短路线,并在地图上进行指示。加快开荒速度,等等。

问题描述

编辑

有向图 G=(V,E) 中,假设每条边 E 的长度为 w,找到由顶点 V0 到其余各点的最短值。 [1]

算法思想

编辑

按路径长度递增次序产生算法: [1]

把顶点集合V分成两组: [3]

(1)S:已求出的顶点的集合(初始时只含有源点V0) [1]

(2)V-S=T:尚未确定的顶点集合 [1]

将T中顶点按递增的次序加入到S中,保证: [1]

(1)从源点V0到S中其他各顶点的长度都不大于从V0到T中任何顶点的最短路径长度 [1]

(2)每个顶点对应一个距离值 [2]

S中顶点:从V0到此顶点的长度 [1]

T中顶点:从V0到此顶点的只包括S中顶点作中间顶点的最短路径长度 [1]

依据:可以证明V0到T中顶点Vk的,或是从V0到Vk的直接路径的权值;或是从V0经S中顶点到Vk的路径权值之和 [1]  。

反证法可证)

求最短路径步骤 [1]

算法步骤如下: [1]

G={V,E}

1. 初始时令 S={V0},T=V-S={其余顶点},T中顶点对应的距离值 [1]

若存在<V0,Vi>,d(V0,Vi)为<V0,Vi>弧上的权值 [1]

若不存在<V0,Vi>,d(V0,Vi)为∞ [2]

2. 从T中选取一个与S中顶点有关联边且权值最小的顶点W,加入到S中 [1]

3. 对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,则修改此距离值 [1]

重复上述步骤2、3,直到S [1]  中包含所有顶点,即W=Vi为止 [1]

[ 此帖被夏夜星空在2020-09-03 13:05重新编辑 ]
第三赛季留念:http://bbs.91d2.cn/read-htm-tid-1270389.html
-PY-战队欢迎你
acc=GreenKiller



QQ:15042300
离线231s5

发帖
690
金钱
3121
91币
67
信誉
0
资产
0 IST
在线时间
206 小时
注册时间
2018-02-14
最后登录
2023-02-08
只看该作者 沙发  发表于: 2020-09-03 13:01:57
卧槽,空姐本尊
离线seer000
发帖
505
金钱
18
91币
5
信誉
0
资产
0 IST
在线时间
58 小时
注册时间
2008-05-29
最后登录
2023-06-10
只看该作者 板凳  发表于: 2020-09-03 13:02:03
图挂了??
离线haz9
< PY战队 >

发帖
8472
金钱
13479
91币
1935
信誉
37
资产
0 IST
在线时间
3092 小时
注册时间
2012-05-14
最后登录
2024-11-03
只看该作者 3楼 发表于: 2020-09-03 13:11:09
一脸懵逼。。。
离线suus
发帖
498
金钱
15708
91币
0
信誉
0
资产
0 IST
在线时间
979 小时
注册时间
2009-07-23
最后登录
2022-11-08
只看该作者 4楼 发表于: 2020-09-03 13:12:39
卧槽  不明觉厉。。。。
离线flushz

发帖
1658
金钱
18872
91币
129
信誉
4
资产
0 IST
在线时间
4570 小时
注册时间
2020-05-03
最后登录
2024-09-09
只看该作者 5楼 发表于: 2020-09-03 13:13:10
迪杰斯特拉算法 好高大上
离线heaven65

发帖
2743
金钱
24492
91币
53
信誉
0
资产
0 IST
在线时间
818 小时
注册时间
2012-02-11
最后登录
2024-12-14
只看该作者 6楼 发表于: 2020-09-03 13:18:06
高大上
有啥实际用处,最好说人话
========================================
|| BT战队群欢迎您! 战队群12752916      BT-094      ||
========================================
手机玩暗黑,一起交流,请加群975427519!!!
离线erdata
< PY战队 >
发帖
1583
金钱
32
91币
34
信誉
0
资产
0 IST
在线时间
3666 小时
注册时间
2009-04-12
最后登录
2024-11-22
只看该作者 7楼 发表于: 2020-09-03 13:25:31
卧槽,二脸懵逼~~~~~
离线夏夜星空
< PY战队 >

发帖
5347
金钱
26089
91币
2245
信誉
0
资产
0 IST
在线时间
3087 小时
注册时间
2010-11-29
最后登录
2024-05-08
只看该作者 8楼 发表于: 2020-09-03 13:28:00
回 heaven65 的帖子

heaven65:

高大上

有啥实际用处,最好说人话

开荒时小地图指示去往目标地点的最短路线啊。A2 A3路线难找吧?有时候走错了,有时候绕路了吧?提前算出来啊。小地图里画上啊。

第三赛季留念:http://bbs.91d2.cn/read-htm-tid-1270389.html
-PY-战队欢迎你
acc=GreenKiller



QQ:15042300
离线aunox
发帖
15
金钱
95
91币
987
信誉
0
资产
0 IST
在线时间
80 小时
注册时间
2020-05-09
最后登录
2021-02-15
只看该作者 9楼 发表于: 2020-09-03 13:54:50
一头雾水,连根毛都没明白
快速回复
限100 字节
 
上一个 下一个