3

我在理解如何遍历森林后序时遇到问题。它的定义是:(来源:Rohit Khurana 使用 C 的数据结构,第 330 页)

  1. 以树后序遍历第一棵树的子树。

  2. 以树后序遍历 F 的剩余树。

  3. 访问 F 的第一棵树的根节点。

这里是森林: F森林

而书中提到的它的后序遍历是:

CFEDBQPZYXA

但我认为 P 是在错误的地方,它的正确答案是:

CFEDBQZYXPA

我想知道我的答案是否正确,或者书上的答案是否正确,为什么它是正确的?

谢谢,

4

1 回答 1

0
  1. 访问 F 的第一棵树的根节点。

按照这个说法,书中的答案是正确的。作为最后一个操作访问根节点仅对森林的第一棵树有效。

您的建议是,就好像该声明对森林中的其他树木也有效。

在您的示例中,在输出 Q 之后,您不输出 P,而是在 A 之前输出它。但是,P 是 F 的第二棵树的根,而不是第一棵。因此,您应该在 Q 之后输出 P,而不是在 A 之前的末尾。

于 2018-01-02T20:01:24.210 回答