算法通过村第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

依次类推最后得出图示:

相关推荐
To_OC13 小时前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
刘马想放假1 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
05Kevin1 天前
lk每日冒险题--数据结构6.27
算法
To_OC2 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安2 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者2 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
北域码匠2 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法