在 Dijkstra 算法中,如果算法中的某个点有两个或多个权重最小的节点,我该怎么办?
在维基百科中:http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm在步骤号。 6、它说
“将暂定距离最小的未访问过的节点设置为下一个‘当前节点’,并返回步骤3。”
如果有两个或多个具有“最小暂定距离”的节点怎么办?
谁能帮我解决算法?
简答
随便选一个。除非您有其他启发式方法可供使用,否则您无法判断选择哪个更好。
更多解释
考虑将一些元素排序到数组中:
9 6 3 3 8
从最低的第一个排序是
3 3 6 8 9
如果您要查询该数组以确定最低值,答案是3
. Which 3
没关系。
同样,如果您想了解更多信息。举例来说,那些整数实际上是浮点数,并且是按整数部分排序。你最终可能会得到这个数组:
3.2 3.1 6.0 8.5 9.2
这里你有另一个启发式可以使用,你也可以检查小数部分,你可以确定3.1
是最低的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)