【发布时间】:2018-08-16 01:42:18
【问题描述】:
以递归方式与以迭代方式编写 BFS 树遍历算法有什么优势吗?在我看来,迭代是要走的路,因为它可以在一个简单的循环中实现:
- 排队根节点
- 出列节点并检查
- 将其子项排入队列
- 转到第 2 步
递归有什么好处吗?它似乎更复杂,没有优势。
提前谢谢...
【问题讨论】:
-
process is not the same as procedure – 递归 procedures 不一定产生递归 process。
-
您似乎已经回答了自己的问题:“它似乎更复杂,没有优势”。我也没有看到任何优势,而且我看到的所有实现都是基于队列的。
-
你将如何在递归中实现它?递归只是场景后面的堆栈,BFS 是队列。如果没有一些魔法,我认为这是不可能的
标签: recursion tree iteration binary-tree breadth-first-search