有谁知道求k-最短路径的算法吗,我在网上搜了一下,找到了Yen的,但是太复杂了?
非常感谢。
最佳答案
它无法有效地完成(多项式)1 - 问题是 NP-Hard
这样想 - 通过在 [1,n!]
范围内进行二分搜索,您甚至可以找到 k 最短路径的长度(这里假设简单路径)多项式k
,可以查找是否有hamiltonian path在图中(通过查找长度为 n 的路径)。
自 hamiltonian path problem是 NP-Hard,这个问题也是 NP-Hard,并且没有已知的多项式解。
<小时/>(1)可能,除非 P=NP ,但大多数计算机科学研究人员认为这不太可能
关于c# - 寻找图中节点对之间的 K 最短路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14434731/