【发布时间】:2014-02-05 08:08:29
【问题描述】:
在我看来,Pre-order traversal 和 DFS 与我们以深度方式遍历到叶节点的两种情况相同。如果我错了,有人可以纠正我吗?
提前致谢!
【问题讨论】:
标签: algorithm tree binary-tree depth-first-search preorder
在我看来,Pre-order traversal 和 DFS 与我们以深度方式遍历到叶节点的两种情况相同。如果我错了,有人可以纠正我吗?
提前致谢!
【问题讨论】:
标签: algorithm tree binary-tree depth-first-search preorder
【讨论】:
不会的。预购具有访问左节点然后访问右节点的严格方式。但对于 DFS,它可以是任何一种,因为没有严格的时尚。因此,根据您压入堆栈的内容,存在不止一次遍历。
【讨论】:
这可能取决于深度优先的定义和实现
算法。 Java Swing 的 JTree 的 DefaultMutableTreeNode 类
组件有以下用于树遍历的枚举方法:
在 Java Swing 的实现中,depthFirstEnumeration 是相同的
作为postOrderEnumeration。我的测试和official documentation
证实了这一点。
其他人可以以不同的方式定义深度优先的含义。例如,一篇文章 on Wikipedia 声明前序和后序遍历是特定类型 深度优先遍历。这意味着深度优先遍历 不是具体的遍历算法。
【讨论】: