二叉树父级与顺序优先输出相同

Posted

技术标签:

【中文标题】二叉树父级与顺序优先输出相同【英文标题】:Binary tree parent same as in order first output 【发布时间】:2019-07-31 16:58:42 【问题描述】:

所以我有一个令我困惑的问题。

表示二叉树的INORDER遍历输出为[2,5,4,8,1,6,3,7]

SAME树的PREORDER遍历输出为[2,1,4,5,8,3,6,7]

使用这 2 个输出,我必须找到后序并构造二叉树。

我知道preorder的第一个元素是二叉树的根。

如果是这样,二叉树的怎么可能也是inorder遍历输出的first元素呢?

【问题讨论】:

【参考方案1】:

如果根节点右侧只有一个子节点。

【讨论】:

好吧,我当然没想到。感谢您的帮助。【参考方案2】:

表示的树是:

如您所见,很可能两个命令都将根列为第一个节点。按顺序首先列出左子树,然后是节点(根)本身,然后是右子树。如果没有左子树(如上图),那么第一个输出将是节点本身。

正如您已经知道的那样,预购无论如何都会首先输出根目录。

【讨论】:

感谢您提供的可视化照片。

以上是关于二叉树父级与顺序优先输出相同的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode——199. 二叉树的右视图

经典算法题 :二叉树父节点与两个节点的路径之和最小(京东笔试题)

采用邻接表存储的图的深度优先遍历算法类似于二叉树的先序遍历,为啥是先序呢?

二叉树深度优先遍历解题思路

广度优先搜索199.二叉树的右视图

把二叉树打印成多行