树与二叉树典型例题讲解
信息技术奥赛辅导树与二叉树

D. (k+1)/2
18
满二叉树和完全二叉树 一般应用顺序存储结构 进行数据的存储。
对于非满二叉树,会有 某些编号没有对应的结 点(通常称为“虚结 点”),通常可以用特 殊标记符号(例如:#) 表示虚结点,将树转换 为满二叉树进行存储。
a
b
c
d ef g
hi
j
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 abcdef g###h##i j
现实世界中,能用树的结构表示的例子: 学校的行政关系(P31)、书的层次结构(P32)、人类的家 族血缘关系等。
2
例:下图是一个有13个结点的树,其中A是 根,其余结点为分三个互不相交的子集: T1={B,E,F,K,L} T2={F,G} T3={D,H,I,J,M} T1、T2和T3都是 根A的子树。
二叉树是一种很有用的非线性结构。
二叉树具有以下两个特点: (1)非空二叉树只有一个根结点; (2)每一个结点最多有两棵子树,且分别称
为该结点的左子树与右子树。
5
6 6
二叉树的性质:
性质1:在任意一棵二叉树中,度为0的结点(即
叶子结点)总是比度为2的结点多一个。
例子1:某二叉树中度为2的结点有18个,则该二 叉树中有 19 个叶子结点。
满二叉树是指除最后一层外,每一层上的所有结点都有
两个子结点。
完全二叉树是指这样的二叉树:除最后一层外,每一层
上的结点数均达到最大值;在最后一层上只缺少右边 的若干结点。 注意:满二叉树是完全二叉树,完全二叉树不一定是满 二叉树。
若一棵完全二叉树的结点数n为偶数,则叶子结点 数为结点数除以2(即:n/2),若结点数为奇数,则 叶子结点数为结点数加一再除以2(即:(n+1)/2) 10
树和二叉树习题集与答案解析

一、填空题1. 不相交的树的聚集称之为森林。
2. 从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是_树可采用孩子-兄弟链表(二叉链表)做存储结构,目的是利用二叉树的已有算法解决树的有关问题。
3. 深度为k的完全二叉树至少有2 k-1个结点。
至多有2 k-1个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是2 k-2+1。
4. 在一棵二叉树中,度为零的结点的个数为n 0,度为2的结点的个数为n 2,则有n0= n2+1。
5. 一棵二叉树的第i(i≥1)层最多有2 i-1个结点;一棵有n(n>0)个结点的满二叉树共有(n+1)/2个叶子和(n-1)/2个非终端结点。
6.现有按中序遍历二叉树的结果为abc,问有5种不同形态的二叉树可以得到这一遍历结果。
7. 哈夫曼树是带权路径最小的二叉树。
8. 前缀编码是指任一个字符的编码都不是另一个字符编码的前缀的一种编码方法,是设计不等长编码的前提。
9. 以给定的数据集合{4,5,6,7,10,12,18}为结点权值构造的Huffman 树的加权路径长度是165 。
10. 树被定义为连通而不具有回路的(无向)图。
11. 若一棵根树的每个结点最多只有两个孩子,且孩子又有左、右之分,次序不能颠倒,则称此根树为二叉树。
12. 高度为k,且有个结点的二叉树称为二叉树。
2k-1 满13. 带权路径长度最小的二叉树称为最优二叉树,它又被称为树。
Huffman14. 在一棵根树中,树根是为零的结点,而为零的结点是结点。
入度出度树叶15. Huffman树中,结点的带权路径长度是指由到之间的路径长度与结点权值的乘积。
结点树根16. 满二叉树是指高度为k,且有个结点的二叉树。
二叉树的每一层i上,最多有个结点。
2k-1 2i-1二、单选题1. 具有10个叶结点的二叉树中有(B) 个度为2的结点。
(A)8 (B)9 (C)10 (D)112.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用_(3)次序的遍历实现编号。
第五章树与二叉树必会题

第五章树和二叉树必会题一.填空1. 树结构体现了数据元素间一对多的关系。
在树中除根结点外,其余结点有且仅有一个双亲;除叶子结点外,其余结点可能有多个孩子。
2. 树的遍历方法主要有先序遍历、中序遍历和后序遍历。
3. 树中某结点在第k层,则该结点的子树的根在k+1层。
4. 二叉树的第i层上至多有2i-1个结点。
5. 深度为h的二叉树至多有2h-1个结点。
6. 完全二叉树中结点间编号的关系:若某结点的编号为i,若有双亲,则其双亲的编号为i/2;若有左孩子,则其左孩子的编号为i*2;若有右孩子,则其右孩子的编号为i*2+1。
7. 把一棵树转换为二叉树后,这棵二叉树的形态是唯一的。
8. 完全二叉树就是在同高度的满二叉树的最大层上从右向左连续删除若干结点所构成。
9. 任意一棵哈夫曼树的带权路径长度都等于其所有非叶子结点的权值之和。
10. 树中的结点数比边数多1。
11. 二叉树可以采用顺序存储结构,也可以采用链式存储结构。
12. 哈夫曼树是带权路径长度最短的树。
13. 已知二叉树先根遍历的序列为“CDHAFEGB”, 中根遍历的序列为“HDFAECBG”, 则后根遍历的序列为“_HFEADBGC_”。
14. 已知完全二叉树有1024个结点, 则该二叉树的深度为__11___。
15. 已知一颗哈夫曼树有4个叶子结点,则该树一共有7个结点。
16. 设一棵树用括号表示法记作A(C,D(E,F,G),H(I,J)),则该树有9个结点,树的深度为3,树的度为3。
17. 若用二叉链表存储二叉树,则有n个结点的二叉树共有2n个指针域,其中有n-1个指针域非空,n+1个指针域为空。
18. 设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为7、19、2、6、32、3、21、10,根据这些频率作为权值构造哈夫曼树,则这棵哈夫曼树的高度为6。
二.判断题1. 二叉树的后序遍历序列中,任意一个结点均处在其孩子结点的后面。
(√)2. 二叉树是度为2的有序树。
二叉树遍历典型例题

二叉树遍历典型例题正文:二叉树的遍历是指按照某种顺序访问二叉树中的所有节点。
常见的二叉树遍历方式有三种:前序遍历、中序遍历和后序遍历。
下面将以一个典型的例题来介绍这三种遍历方式的应用。
假设有一个二叉树如下所示:```1/2 3/4 5 6```首先介绍前序遍历。
前序遍历的顺序是先访问根节点,然后分别遍历左子树和右子树。
对于上面的二叉树,前序遍历的结果是1, 2, 4, 3, 5, 6。
接下来是中序遍历。
中序遍历的顺序是先遍历左子树,然后访问根节点,最后遍历右子树。
对于上面的二叉树,中序遍历的结果是2, 4, 1, 5, 3, 6。
最后是后序遍历。
后序遍历的顺序是先遍历左子树,然后遍历右子树,最后访问根节点。
对于上面的二叉树,后序遍历的结果是4, 2, 5, 6, 3, 1。
以上就是三种常见的二叉树遍历方式。
在实际应用中,二叉树的遍历经常用于查找、删除、插入等操作。
例如,在前序遍历中,可以用来复制一棵二叉树;在中序遍历中,可以用来对树进行排序;在后序遍历中,可以用来释放二叉树的内存等。
除了以上介绍的三种遍历方式,还存在一种更特殊的遍历方式,即层序遍历。
层序遍历是逐层访问二叉树节点的方式,从上到下、从左到右。
对于上面的二叉树,层序遍历的结果是1, 2, 3, 4, 5, 6。
在实际应用中,根据具体的问题要求,选择合适的遍历方式能够更加高效地解决问题。
因此,对于二叉树的遍历问题,我们需要熟练掌握各种遍历方式的特点和应用场景,以便于在实际问题中灵活运用。
各类型二叉树例题说明

各类型二叉树例题说明5.1树的概念树的递归定义如下:(1)至少有一个结点(称为根)(2)其它是互不相交的子树1.树的度——也即是宽度,简单地说,就是结点的分支数。
以组成该树各结点中最大的度作为该树的度,如上图的树,其度为3;树中度为零的结点称为叶结点或终端结点。
树中度不为零的结点称为分枝结点或非终端结点。
除根结点外的分枝结点统称为内部结点。
2.树的深度——组成该树各结点的最大层次,如上图,其深度为4;3.森林——指若干棵互不相交的树的集合,如上图,去掉根结点A,其原来的二棵子树T1、T2、T3的集合{T1,T2,T3}就为森林;4.有序树——指树中同层结点从左到右有次序排列,它们之间的次序不能互换,这样的树称为有序树,否则称为无序树。
5.树的表示树的表示方法有许多,常用的方法是用括号:先将根结点放入一对圆括号中,然后把它的子树由左至右的顺序放入括号中,而对子树也采用同样的方法处理;同层子树与它的根结点用圆括号括起来,同层子树之间用逗号隔开,最后用闭括号括起来。
如上图可写成如下形式: (A(B(E(K,L),F),C(G),D(H(M),I,J)))5. 2 二叉树1.二叉树的基本形态:二叉树也是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:(1)空二叉树——(a);(2)只有一个根结点的二叉树——(b);(3)右子树为空的二叉树——(c);(4)左子树为空的二叉树——(d);(5)完全二叉树——(e)注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形。
2.两个重要的概念:(1)完全二叉树——只有最下面的两层结点度小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树;(2)满二叉树——除了叶结点外每一个结点都有左右子女且叶结点都处在最底层的二叉树,。
如下图:完全二叉树1页满二叉树3.二叉树的性质(1) 在二叉树中,第i层的结点总数不超过2^(i-1);(2) 深度为h的二叉树最多有2h-1个结点(h>=1),最少有h个结点;(3) 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;(4) 具有n个结点的完全二叉树的深度为int(log2n)+1(5)有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:若I为结点编号则如果I<>1,则其父结点的编号为I/2;如果2*I<=N,则其左儿子(即左子树的根结点)的编号为2*I;若2*I>N,则无左儿子;如果2*I+1<=N,则其右儿子的结点编号为2*I+1;若2*I+1>N,则无右儿子。
树结构习题及答案

第5章树【例5-1】写出如图5-1所示的树的叶子结点、非终端结点、每个结点的度及树深度。
AB C D EF G H I J图5-1解:(1)叶子结点有:B、D、F、G、H、I、J。
(2)非终端结点有:A、C、E。
(3)每个结点的度分别是:A的度为4,C的度为2,E的度为3,其余结点的度为0。
(4)树的深度为3。
【例5-2】一棵度为2的树与一棵二叉树有什么区别?解:度为2的树有两个分支,但分支没有左右之分;一棵二叉树也有两个分支,但有左右之分,左右子树的次序不能交换。
【例5-3】树与二叉树有什么区别?解:区别有两点:(1)二叉树的一个结点至多有两个子树,树则不然;(2)二叉树的一个结点的子树有左右之分,而树的子树没有次序。
【例5-4】分别画出具有3个结点的树和三个结点的二叉树的所有不同形态。
解:如图5-2(a)所示,具有3个结点的树有两种不同形态。
图5-2(a)如图5-2(B)所示,具有3个结点的二叉树有以下五种不同形态。
图5-2(b)【例5-5】如图5-3所示的二叉树,试分别写出它的顺序表示和链接表示(二叉链表)。
解:(1)顺序表示。
(2)该二叉树的二叉链表表示如图5-4所示。
【例5-6】试找出满足下列条件的所有二叉树:(1)先序序列和中序序列相同; (2)中序序列和后序序列相同; (3)先序序列和后序序列相同。
解:(1)先序序列和中序序列相同的二叉树为:空树或者任一结点均无左孩子的非空二叉树;(2)中序序列和后序序列相同的二叉树为:空树或者任一结点均无右孩子的非空二叉树;(3)先序序列和后序序列相同的二叉树为:空树或仅有一个结点的二叉树。
【例5-7】如图5-5所示的二叉树,要求:(1)写出按先序、中序、后序遍历得到的结点序列。
(2)画出该二叉树的后序线索二叉树。
解: (1) 先序遍历序列:ABDEFC 中序遍历序列:DEFBAC 后序遍历序列:FEDBCA (2)其后序线索二叉树如图5-6所示。
树与二叉树典型例题讲解

A
F
B
J
E
F H
G
I J
例6.14
Huffman编码设计实例
已知某系统在通信联络中只可能出现8种字符,其概率分别为0.05, 0.29,0.07,0.08,0.14, 0.23,0.03,0.11,试设计Huffman编码。 解一:先构造Huffman树,再进行编码。 Huffman编码实现过程:以报文所用的不同字符为叶结点,以字符 出现频率为权重构造Huffman树;然后将树中结点指向其左孩子的 分支标“0”,指向其右孩子的分支标“1”;每个字符的编码即为 从根到每个叶子(字符)的路径上得到的0、1序列。这种对字符的 编码就是Huffman编码。
100
0 1
HC
42
0 1 0
58
1
0
1 2
0 1
1 0
1
0
3
1
1 1 0 0 0
1
1 1 0 1 1
1
1 0 1 1
0
1
23
0
19
1
29
1
29
1
11
0
8 5
14
0
15
1
4 5 6 7 8
1
3 Huffman树
7
8 Huffman编码
解二:利用Huffman编码算法实现。根据题意,取8个字符的权分别为 (5,29,7,8,14,23,3,11),n=8,则m=2*8-1=15,按上述 算法可构造一棵Huffman树,如下左图和右图分别Huffman树的初始 状态和终止状态。
a
b b d g e h i c ^ d c ^
f e ^ g
^ ^ ^
第5章_树与二叉树习题解析讲解

习题五树与二叉树1一、选择题1、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足。
A、所有的结点均无左孩子B、所有的结点均无右孩子C、只有一个叶子结点D、是任意一棵二叉树2、一棵完全二叉树上有1001个结点,其中叶子结点的个数是。
A、250B、500C、254D、505E、以上答案都不对3、以下说法正确的是。
A、若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树后序遍历序列中的最后一个结点B、若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树中序遍历序列中的最后一个结点C、在二叉树中,具有两个子女的父结点,在中序遍历序列中,它的后继结点最多只能有一个子女结点D、在二叉树中,具有一个子女的父结点,在中序遍历序列中,它没有后继子女结点4、以下说法错误的是 C 。
A、哈夫曼树是带权路径长度最短得数,路径上权值较大的结点离根较近B、若一个二叉树的树叶是某子树中序遍历序列中的第一个结点,则它必是该子树后序遍历序列中的第一个结点C、已知二叉树的前序遍历和后序遍历并不能唯一地确定这棵树,因为不知道树的根结点是哪一个D、在前序遍历二叉树的序列中,任何结点其子树的所有结点都是直接跟在该结点之后的5、一棵有124个叶结点的完全二叉树,最多有个结点。
A、247B、248C、249D、250E、2516、任何一棵二叉树的叶结点在前(先)序、中序和后序遍历序列中的相对次序。
A、不发生变化B、发生变化C、不能确定7、设a、b为一棵二叉树上的两个结点。
在中序遍历时,a在b前面的条件是。
A、a在b的右方B、a在b的左方C、a是b的祖先D、a是b的子孙8、设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含的结点总数为。
A、k+1B、2kC、2k-1D、2k+19、设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有个结点。
A、13B、12C、26D、2510、下面几个符号串编码集合中,不是前缀编码的是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例题6.6 对如下图所示的二叉树: ⑴ 写出对它们进行先序﹑中序和后序遍历时得到的结点序列; ⑵ 画出它们的先序线索二叉树和后序线索二叉树。 A B C
D
F H
E G
I
【解】 对图进行先序﹑中序和后序遍历时得到的 结点序列分别如下: 先序遍历的结点序列为:ABDFGHIEC 中序遍历的结点序列为:FDHGIBEAC 后序遍历的结点序列为:FHIGDEBCA
例6.9 用孩子链表结构表示西图所示的树
a
b d g e h i c f 0 1
data fc
a
b
1
2
^ ^
3
5 ^ 6 ^ ^ ^ ^ 7 ^
4
2 3
4 5 6 7 8
c
d
e
f g h i
8
^
CTree.r=0 CTree.n=9
例6.10 用带双亲的孩子链表表示下图所示的树
data parent fc a
a
b d g e h i c
b ^ d c ^
f
e ^ g
^
^
^
f
^
h ^ i ^
例6.12 森林、树与二叉树转换(以二叉链表为纽带) (1)树与二叉树转换 树
对应 A ^
E B ^ B C ^ D ^ D
二叉树 A
A
B C
C E
D
A ^
A ^
^ E ^ ^ B
C ^ D ^ ^ E ^
^ B
C ^ D ^ ^ E ^
练习
1、具有10个叶结点的二叉树中有( )个度为2的结点 A.8 B.9 C.10 D.ll 2、一棵具有 n个结点的完全二叉树的树高度(深度)是( A.logn+1 B.logn+1 C.logn D.logn-1 3、一棵树高为K的完全二叉树至少有( )个结点。 A.2k –1 B. 2k-1 –1 C. 2k-1 D. 2k )
+n2=2n2+2,得n2=445,代入n0=n2+1得n0=446;故叶结点数为446。
(3) 由⑵解过程可知n1=1 ,单支结点数为1 。 (4) 对有n个结点的完全二叉树,最后一个树叶结点,即序号为n的叶
结点其双亲结点[n/2]为最后一个非终端结点,则序号为892/2=446。
此外,由⑵可知:n2=445,n1=1;则最后一个非终端结点的序号为 445+1=446。 对于⑵还可以采用如下:因892﹥29-1,则前9层的结点数为29-1=511个; 而第10层的结点为892-511=381个,且381个结点对应第9层的父结点为 [381/2]=191,而第9层的其余结点也是叶结点,即29-1=256,256191=65,故第9层共有65个叶结点,则第10层叶结点+第9层叶结点 =381+65=446。
森林转换成二叉树 将各棵树分别转换成二叉树(根结点均无右孩子); 将各二叉树的根结点依次用分支线连起来; 以第一棵树根结点为二叉树的根,再以根结点为轴心,顺时针旋转,构 成二叉树型结构。 森林转化成二叉树的过程: A B C D E F H G I J A B C D J F
E
H
G I
例题6.1 已知一棵度为m的树有n1个度为1的结点,n2个度为2的结 点,…,nm个为m结点,问该树中有多少个叶子结点? 解:设n为总结点个数,n0为叶子结点(即度为0的结点个数),则有: n=n0+n1+n2+…+nm (1) 又有(分支总数):n-1=n1*1+n2*2+n3*3+…+nm*m (2) (因为一个结点对应一个分支) 式(2)-(1)得: 1=n0-n2-2n3-…-(m-1)nm 则有:n0=1+n2+2n3+…+(m-1)nm
100
0
0
1
HC
42
1
58
0
1
0
1 2
0 1
1 0
1
0
23
0
3
1
1 1 0 0 0
1
1 1 0 1 1
1
1 0 1 1
0
1
19
11
0
1
29
1
29
1
0
8
14 7
15
1
4 5 6 7 8
1
5
3 Huffman树
8 Huffman编码
解二:利用Huffman编码算法实现。根据题意,取8个字符的权分别为 (5,29,7,8,14,23,3,11),n=8,则m=2*8-1=15,按上述 算法可构造一棵Huffman树,如下左图和右图分别Huffman树的初始 状态和终止状态。
例题6.5 已知一棵完全二叉树共有892个结点,试求:⑴ 树的高度;⑵
叶结点数;⑶ 单支(度为1)结点数;⑷ 最后一个非终端结点的序号。 解:(1) 根据性质2,已知深度为k的二叉树至多有2k-1个结点(k≥1),由 于:29-1﹤892 ﹤210-1,所以树的高度为10。 (2) 对完全二叉树来说,度为1的结点只能是0或1。由n=n0+n1+n2和 n0=n2+1(性质3)得:设n1=0,则有892=n0+0+n2=n2+1+n2=2n2+1, 因得到的n2=891/2不为整数而出错;n1=1,则有892=n0+1+n2=n2+1+1
例题6.2 写出如图6.2所示的二叉树的前(先)序﹑中序和后序遍历序列. 解: ⑴前序为“根左右”,从左到右收集的前序序列为:fdbacegihj; ⑵中序为“左根右”,从左到右收集的中序序列为:abcdefghij; ⑶后序为“左右根”,从左到右收集的后序序列为:acbedhjigf。
f
d
g e
i
b
a c
h
j
练习
• 一棵二叉树如图所示:写出对此树的先根、 中跟、后跟序列。
• 先根序列:ABDEFC • 中根序列:DEFBAC • 后根序列:FEDBCA
已知先序和中序求后序
• 先序:ABCDEFGH • 中序:BDCEAFHG • 后序:
已知中序和后序求先序
• 中序:BDCEAFHG • 后序:DECBHGFA • 求先序:
森林
对应二叉树
Hale Waihona Puke AAB FB E H
E C F D H I J G
G
C
D J
I
连接跟结点
旋转成二叉树
例6.13 二叉树转换成森林 抹线:将二叉树中根结点与其右孩子连线,及沿右分支搜索到的所有右孩子 间连线全部抹掉,使之变成孤立的二叉树 还原:将孤立的二叉树还原成树
A B E C D F H I J J B G C D F H I A C D E G B C D A E G H I
二叉树的先序线索二叉树如下左图所示,后序线索二叉树如下右图所示。
A
NIL
A C B C
B
D
F H
E G
I
NIL
D
F H
E G
I
先序线索二叉树
后序线索二叉树
例题6.7 如果已知森林的前序序列和后序序列分别为ABCDEFIGJH和 BDCAIFJGHE,请画出该森林。 【解】由于森林的前序序列与其对应的二叉树前序序列相同,而森林的 后序序列与其对应的二叉树中序序列相同。因此,根据二叉树前序序 列ABCDEFIGJH和中序序列BDCAIFJGHE可画出二叉树如下图所示。 A B C D I J F G H
parent 9 14 10 10 12 13 9 11 11 12 13 14 15 15 0
lchild 0 0 0 0 0 0 0 0 1 3 8 5 6 2 13
rchild 0 0 0 0 0 0 0 0 7 4 9 10 11 14 14
9
10 11 12 13 14 15
0
0 0 0 0 0 0
E
而由二叉树转化为森林的步骤得到对应的森林。
A B C F I
E G J H
D
例题6.8 证明n0个叶子结点的哈夫曼树共有2n0-1个结点。 证明:设度为1和2的结点个数分别为n1和 n2,二叉树结点总数为n,则 有:n=n0+n1+n2 根据二叉树的性质知:n0=n2+1 此外,由哈夫曼树的构造原理可知:哈夫曼树不存在度为1的结点,即 n1=0;所以由①②可得: n=n0+0+n2=n0+n0-1=2n0-1
后一层的结点。
例6.16 树的遍历
A
B
E F G
C
D
H J K L M
I
N
O
A B E F I GC D HJ KL N OM 先序遍历:
后序遍历: E I F G B C JK N O L M H D A 层次遍历: A B C D E F G H I J K L MN O
例6.17 森林遍历
问题
• 已知先序和后序能求中序么?
例题6.3 若一棵二叉树,左右子树均有三个结点,其左子树的前(先) 序序列与中序序列相同,右子树的中序序列与后序序列相同,试构 造该树。 【解】据题意,左子树的前序序列与中序序列相同,即有: 前序: 根 左 右 中序: 左 根 右 也即,以左子树为根的树无左孩子。此处,右子树的中序序列与后序 序列相同,即有: 中序: 左 根 右 后序: 左 右 根 也即,以右子树为根的树无右孩子。由此构造该树如下图所示。
1
c 2 f i 3 4 5 6 7 8
a b c d
0 1 1 2 ^
2 4 6 ^