【问题标题】:How many tree travelsals needed to reconstruct a binary tree?重建一棵二叉树需要多少树旅行?
【发布时间】:2019-03-06 16:49:56
【问题描述】:

重建二叉树至少需要多少次树遍历(前序、中序、后序)。我很确定它是两个,但是我在解释原因时遇到了问题。我还要说,这三种类型的每种组合都可以进行重构。

如果有人能给我一个适当的解释,那就太好了;)。

【问题讨论】:

  • 当你说重构你的意思是什么?
  • 好的,这是一个例子。有序:9 3 10 2 1 5 4 7 6 8,预购:1 2 3 9 10 4 5 6 7 8 现在我应该从这些信息中画出一棵二叉树。问题是我至少需要多少个符号来绘制树。
  • 如果您知道排序(inorder、preorder 或 postorder),为什么不能立即创建树?

标签: binary-tree tree-traversal


【解决方案1】:

如果您只有一个遍历(例如 inorder),则无法重建唯一的树。可以举例说明。

假设一棵树的中序遍历是:ABC。那么可以有很多树可以由此重构:

A               B                C
 \             /  \             /
  B           A    C           B
   \                          /
    C                        A

因此,您需要 2 次遍历才能唯一地唯一地重建一棵树。

【讨论】:

    猜你喜欢
    • 2014-09-24
    • 2015-12-20
    • 1970-01-01
    • 2017-01-28
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多