c# - 检查最佳路径

标签 c# algorithm path

我试图查明我编写的算法是否返回访问图中每个节点的最佳路径。我正在尝试遍历图表,就像您修剪草坪或用吸尘器打扫房屋或犁地一样。我找到了返回路径,但有没有办法检查它是否是最佳路径。有没有我可以用来检查它的 API 或在线服务?

我看过 Dijkstra 和 A* 算法以及 BFS 和 DFS,但我不确定如何验证我得到的路径是最有效的。

给定一个图,我如何找到访问所有节点的最快和最有效的路径?

谢谢

最佳答案

不幸的是,这是一个称为旅行商问题的 NP 困难问题。

因此没有已知的多项式时间解。遍历整个解决方案空间需要 !N 次迭代(其中 N 是节点数)。但是,有几种解决方案可以为您提供良好的解决方案,即使不是最好的。

我会研究模拟退火作为一种在所有节点之间获得短路径的方法。

http://en.wikipedia.org/wiki/Simulated_annealing

关于c# - 检查最佳路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423523/

相关文章:

c# - 使用 Linq to XML (C#) 如何查找属性值?

algorithm - 有效计算正态分布乘积的积分

silverlight - 如何在 silverlight 中使用集合类作为静态资源

java - 为什么我在 --config java 菜单中看不到我的 Oracle java jdk 之一?

c# - 检测 yyyy-MM-dd 的正则表达式

c# - 使用 MVVM 以编程方式创建 XAML Canvas

algorithm - 未加括号的算术表达式

java - 巴士路线计划,我使用什么样的算法和数据结构?

java - 如何在普通 Java 类中找到上下文路径

c# - 如何将字典的值复制到 .Net 2.0 中的 IList 对象中?