【发布时间】:2017-08-30 16:17:45
【问题描述】:
我知道这里有很多关于广度优先搜索与深度优先搜索的问题,但我认为我的情况有点不同。
我有一个有根树,其中每个节点可能有 0、1 或 2 个子节点(预期数字为 1)。给定大量n,我想找到一条通过长度为n 的树的路径。
似乎很清楚,深度优先应该是做到这一点的最佳方式,但我不太确定。树的宽度非常小,这通常是使用广度优先搜索的原因。此外,如果我使用深度优先搜索,那么我最终可能会向下进入一个高度非常接近n,但小于n 的子树。在那种情况下,我将浪费大量时间遍历一棵不可能给我想要的答案的树
【问题讨论】:
-
我建议你看一下迭代加深深度优先搜索。
-
@marvel308 我有,我已经提到了我在问题中发现的内容。
-
@RudraniAngira 这不比深度优先搜索差吗?为了在深度
n找到一个节点,我必须搜索整个树直到深度n-1。深度优先搜索肯定会比这更好。 -
@JohnGowers IDDFS 将停止在您的目标状态的深度。
标签: algorithm graph binary-search-tree