算法通过村第6关【青铜】| 如何通过中序和后序遍历恢复二叉树

中序:3 4 8 6 7 5 2 1 10 9 11 15 13 14 12

后序:8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

通过这两个遍历顺序恢复二叉树

首先我们知道中序遍历顺序左中右,后序遍历顺序左右中

第一步:

由后序遍历确定根结点为1 ==> 由中序遍历划分左右子树3 4 8 6 7 5 2 1 10 9 11 15 13 14 12

第二步:

继续找下层子树根结点: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

左子树根结点为2,右子树根结点9,

划分中序:

3 4 8 6 7 5 2 ==> 3 4 8 6 7 5 2

10 9 11 15 13 14 12\] ==\> \[10\] 9 \[11 15 13 14 12

第三步:

继续找下层子树根结点: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

左子树根结点为3,右子树根结点11,

划分中序:

3 4 8 6 7 5\] ==\> 3 \[ 4 8 6 7 5

11 15 13 14 12\] ==\> 11 \[15 13 14 12

依次类推最后得出图示:

相关推荐
zephyr0518 小时前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米18 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚19 小时前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结19 小时前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
从零开始的代码生活_20 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
yuannl1020 小时前
图的存储方式
数据结构
泷寂20 小时前
最小生成树 (MST基础)
算法
Daniel_12321 小时前
数组——总结篇
算法
不懒不懒21 小时前
【针对路面识别数据集,结合三轴加速度标准化数据及多路面识别需求,以下是算法选择与处理方案】
算法
Reart21 小时前
Leetcode 121. 买卖股票的最佳时机(717)
后端·算法