2

例如,按顺序和后序访问父母之前的孩子有什么意义?我了解中序、前序和后序遍历只是表示树的一种方式。我对么?

4

2 回答 2

1

有序、后序和前序不是表示树的方法,而是遍历树的方法。有趣的是选择一种遍历而不是另一种遍历的原因。

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

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

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

于 2018-11-29T05:14:42.147 回答
0

Pre-orderIn-orderPost-order是遍历树的三种方式。以上三种遍历都属于深度优先遍历。

以下图为例:

在此处输入图像描述

深度优先预购 遵循Node -> Left_Child -> Right-Child约定。如果你在我们当前的例子中使用它,你应该得到:

A、B、D、E、C

Depth First In-Order遍历遵循Left-Child -> Node -> Right-Child约定。它看起来像这样:

D、B、E、A、C

深度优先后序遍历遵循左节点- > 右节点 -> 节点约定。这就是它的外观:

D、E、B、C、A

广度优先级顺序遍历是一种遍历,您从根节点开始,从左到右向下遍历每个级别的树读取节点。它看起来像这样:

甲、乙、丙、丁、乙

于 2020-12-01T09:47:45.947 回答