【发布时间】:2012-10-10 13:06:48
【问题描述】:
在我的算法分析课程中老师告诉我们呼吸优先搜索的时间复杂度是 O(V+E) 但现在在人工智能课程中老师说 BFS 的复杂度是 O(bd支持>)。当我问他问题时,他给了我一个合乎逻辑的理由,即“在理论计算机科学中,O(V+E) 是合适的,因为图是输入到搜索算法的显式数据结构。在 AI 中,图通常表示由初始状态、动作和转换模型隐含地表示,并且通常是无限的。因此,复杂度用 O(bd)" 表示。现在我有两个问题
- O(V+E) 和 O(bd) 如何相等,第一个看起来像线性复杂度,第二个看起来是指数复杂度。
- 当我们谈论大 O 表示法时,它意味着无论输入可能是什么上限,它都应该保持不变,因为它是一个上限。 Big O 是否只处理一些有限的数据输入?
【问题讨论】:
-
请接近的选民发表评论,解释他们为什么认为这是题外话?它讨论了在许多应用程序中经常用于解决最短路径问题的算法的基础知识,我认为理解它的问题没有错。
-
这个问题属于cs.stackexchange.com。
标签: algorithm artificial-intelligence time-complexity breadth-first-search