怎么根据序列画二叉树(知道二叉树先序,中序,后序其中的两个顺序列,如何画出二叉树)

本文目录
知道二叉树先序,中序,后序其中的两个顺序列,如何画出二叉树
(1)由先序遍历序列和后序遍历序列不能唯一确定一棵二叉树。
(2)由先序遍历序列和中序遍历序列能够唯一确定一棵二叉树。
设先序序列为:a1,a2,……,an , 中序序列为:ap1,…,api, a1, …,apn 。则a1为根结点;ap1,…,api为左子树的中序序列,a2,…,ai-1为左子树的先序序列。
同样,也可确定右子树的中序和先序序列。 按照上面方法对左子树和右子树可确定各自的根。继续下去即构造出二叉树。
(3)由后序遍历序列和中序遍历序列能够唯一确定一棵二叉树。
设后序序列为:a2,……,an , a1; 中序序列为:ap1,…,api, a1, …,apn 。则 a1为根结点;ap1,…,api为左子树的中序序列,a2,…,ai-1为左子树的后序序列。
同样,也可确定右子树的中序和后序序列。按照上面方法对左子树和右子树可确定各自的根。继续下去即构造出二叉树。
请求根据二叉树的中序序列和后序序列或者根据先序和中序画出对应二叉树的解题方法
后序最后一个是a,所以a是先序的第一个得到:
先序序列
abc_ef__
中序序列
bde_ag_h
后序序列
_dc_gh_a
_____________(a)____________
____________/___\___________
________(bde_)_(g_h)________
先序的第二个元素是b,所以b是a的左子树根节点
由中序b在最前,知道其他元素都在b的右子树上
所以,后序序列为(de_)b(g_h)a,对比已有的后序序列_dc_gh_a
得后序序列为:edcbghfa,中序序列为:bdecagfh
先序序列
abc_ef__
中序序列
bdecagfh
后序序列
edcbghfa
所以,二叉树为:
_____________(a)_____________
____________/___\____________
__________(b)____(f)_________
___________\_____/_\_________
___________(c)_(g)_(h)_______
___________/_________________
_________(d)_________________
__________\__________________
__________(e)________________

更多文章:
中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)
2026年11月7日 02:10
equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)
2026年11月7日 01:50
default values(电脑开机后出现all settings was reset to default values.)
2026年11月7日 01:20
structured reviewing翻译(软件测试的英文翻译)
2026年11月7日 00:50
dos命令清屏(Windows DOS内部命令详解04——del、ren、cls、ver、date、time)
2026年11月6日 15:40




