【发布时间】:2017-06-30 15:03:35
【问题描述】:
我是堆栈溢出的新手,但我在这里是因为我到处搜索,除了 wiki 之外,似乎找不到关于 A* 时间复杂度的太多信息。我还想将它与 Dijkstra 的算法进行比较,看看在 A* 中添加启发式如何提高它的性能。
我知道这是一个非常高级的话题,但是从 wiki 上给出的信息中我无法完全理解它(即使是在 wiki 上对 Dijkstra 算法的分析似乎也很高级)。
https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm https://en.wikipedia.org/wiki/A*_search_algorithm
如果有人能更详细地解释时间复杂度,或者建议任何有关该主题的阅读/学习材料,我将不胜感激。我对A*算法有很好的了解,但是我现在才开始学习它的分析。
【问题讨论】:
-
你可以在这里问:cs.stackexchange.com
-
E 为边数,V 为顶点数,Dijkstra 复杂度为
O(E + V log V)(O(V^2)用于幼稚的实现),而 A* 为O(E)... 尚不清楚来自维基? -
如果用户回答了您的问题,请同时接受他的回答 (Accepting Answers: How does it work?)。如果不是,请说明什么仍未得到答复,这是 StackOverflow 的一个非常重要的部分,非常感谢。
标签: algorithm time-complexity path-finding a-star asymptotic-complexity