是post序遍历==自下而上遍历和前序遍历==自上而下遍历?

Is post-order traversal == bottom-up traversal and pre-order traversal == top-down traversal?

这样说对吗post-树的顺序遍历应该用于自下而上的遍历,而前序遍历应该用于自上而下的遍历二叉树?

在我遇到的所有例子中都是如此,所以我只是想确认一下。有些问题从叶子(底部)开始是直观的。我们可以使用post阶遍历来解决它们吗(反之亦然)?

谢谢!

没有。实际上术语 bottom-up / top-down 通常用于图形,但对于树,它有点用作解释如下:

  • 前序遍历:Parents被访问过 children 和兄弟姐妹按 left-to-right 顺序访问(可能连续但不总是)。
  • 后序遍历:Children前序遍历 parents 和兄弟姐妹按 left-to-right 顺序访问。
  • Top-down遍历:个节点按non-decreasing深度的顺序访问。基本上就是level-order遍历
  • Bottom-up遍历:这与top-down遍历
  • 正好相反

没有。虽然 post-order traversalpre-order traversal 有明确的定义,但 bottom-up traversaltop-down traversal 术语可能有不同的解释方式,它们通常不被二叉树接受。如果有人对树使用 last 术语,确切含义取决于上下文。

看图来自wiki:

这里pre-order遍历是不是像top-down traversal?或者 post-order 喜欢 bottom-up traversal?好像没有。

也许你想考虑BFS方法得到level order