顺序和后序遍历

时间:2015-02-02 19:43:14

标签: depth-first-search inorder postorder

对于在父母之前和之后的顺序访问孩子有什么意义?我理解,顺序,前序和后序遍历只是表示树的一种方式。我对么?

2 个答案:

答案 0 :(得分:0)

顺序,后序和预序不是表示树的方法,而是遍历树的方法。变得有趣的是选择一个遍历而不是另一个遍历的原因。

预定遍历对于复制节点和边缘以完全复制二叉树非常有用。它们对于制作前缀表达式(来自表达式树)也很有用。

在删除节点和值时使用后序遍历可以删除整个二叉树。同样,它们还可以生成二叉树的后缀表示。

最后,有序遍历对于二叉搜索树很有用,因为它们按顺序返回基础集合中的值。

答案 1 :(得分:0)

预定有序后置遍历树的三种方法。 以上三种遍历类型属于深度优先遍历。

以下面的图片为例:

enter image description here

深度优先预购遵循 Node-> Left_Child-> Right-Child 约定。如果在当前示例中使用它,您将获得:

A,B,D,E,C

深度优先顺序遍历遵循 Left-Child-> Node-> Right-Child 约定。看起来像这样:

D,B,E,A,C

深度优先后置遍历遵循左节点->右节点->节点约定。看起来就是这样:

D,E,B,C,A

广度优先一级遍历遍历是从根节点开始并从左到右从树状读取节点的每一层向下遍历的遍历。 看起来像这样:

A,B,C,D,E