【发布时间】:2016-07-28 12:56:12
【问题描述】:
我查看了其他各种 StackOverflow 答案,它们都与我的讲师在幻灯片中写的不同。
深度优先搜索的时间复杂度为 O(b^m),其中 b 是 搜索树的最大分支因子,m是最大深度 的状态空间。如果 m 比 d 大得多,那就太糟糕了,但是如果搜索 树是“浓密的”,可能比广度优先搜索快得多。
他接着说..
空间复杂度为 O(bm),即空间在动作长度上是线性的 顺序!只需要存储从根到叶的单个路径 节点,以及上每个节点的剩余未扩展兄弟节点 路径。
StackOverflow 上的Another answer 声明它是 O(n + m)。
【问题讨论】:
-
深度优先搜索和广度优先搜索是通用术语,可以指代很多算法,例如搜索树或对游戏状态进行蛮力搜索。
标签: algorithm time-complexity depth-first-search space-complexity