【发布时间】:2023-03-04 19:16:01
【问题描述】:
所以我在理解为什么递归 DFS 和迭代 DFS 的时间复杂度相同时遇到了一些问题,也许有人可以通过简单的解释来指导我?
提前致谢。
【问题讨论】:
-
一个简单的答案是它们是同一算法的两个不同表达式,因此它们将具有相同的时间/空间复杂度。
标签: algorithm time-complexity depth-first-search space-complexity
所以我在理解为什么递归 DFS 和迭代 DFS 的时间复杂度相同时遇到了一些问题,也许有人可以通过简单的解释来指导我?
提前致谢。
【问题讨论】:
标签: algorithm time-complexity depth-first-search space-complexity
在最坏的情况下,递归实现需要与图中的顶点数成比例的堆栈帧数(调用尚未完成运行的子程序)。例如,如果我们从一端开始,则可以在路径图上达到这种最坏情况的界限。
在最坏的情况下,迭代实现需要与图中顶点数成比例的堆栈条目数。与递归实现相同的输入到达这个最坏情况时间。
【讨论】: