第6 章树 基础知识

合集下载

数据结构-第六章 树与二叉树.ppt

数据结构-第六章 树与二叉树.ppt

lChild data parent rChild
含三个指针域的结点结构 parent
data
data
lChild
rChild
二叉链表
lChild
rChild
三叉链表
性质: 含有n个结点的二叉链表中有n+1个空链域。 证明:对于叶结点n0有两个空链域,n1有1
个空链域,n2没有空链域。所以 空链域数=2n0+n1 将n0=n2+1代入得(根据性质3) 2n0+n1=n0+n1+n2+1=n+1
例如
A 只有根结点的树
A
BC
D
E F GH I J
KL
M
有13个结点的树
其中:A是根;其余结点分成三个互不相交的子集, T1={B,E,F,K,L}; T2={C,G}; T3={D,H,I,J,M}, T1,T2,T3都是根A的子树,且本身也是一棵树
树的基本术语
A
BC
D
E F GH I J
KL
4 5 67
1
8 9 10 11 12
1
2
3
2
3
45
45
6
非完全二叉树
67
性质4 具有 n 个结点的完全二叉树的深度 为log2(n) +1 证明:
设完全二叉树的深度为 h,则根据性 质2和完全二叉树的定义有
2h-1 - 1 < n 2h - 1或 2h-1 n < 2h
取对数 h-1 log2n < h,又h是整数, 因此有 h = log2(n) +1
证明:若度为1的结点有 n1 个,总结点个 数为 n,总边数为 e,则根据二叉树的定

第6章 树和二叉树

第6章 树和二叉树
1) 若 i=1,则该结点是二叉树的根,无双亲,否则,编号 为 i/2 的结点为其双亲结点; 2) 若 2i > n,则该结点无左孩子,否则,编号为 2i 的结 点为其左孩子结点; 3) 若 2i+1 > n,则该结点无右孩子结点,否则,编号为 2i+1 的结点为其右孩子结点。
二叉树的存储结构
1. 二叉树的顺序存储表示
DeleteChild( T, p, LR ); 初始条件:二叉树 T 存在。 操作结果:根据LR的值,删除结点p的子树。
✓ 加工型操作(续)
Assign( T, &e, value ) 初始条件:二叉树 T 存在。 操作结果:用 value 给当前结点 e 赋值。
ClearBiTree( &T ) 初始条件:二叉树 T 存在。 操作结果:清空二叉树中的所有结点。
Value( T, cur_e ) 初始条件:树 T 存在。 操作结果:用 cur_e 返回当前结点的元素值。
Parent( T, cur_e ) 初始条件:树 T 存在。 操作结果:用 cur_e 返回当前结点双亲的元素值。
✓ 引用型操作(续)
LeftSibling( T, cur_e ) 初始条件:树 T 存在。 操作结果:用 cur_e 返回当前结点左兄弟的元素值。
证明:
设二叉树上结点总数 n = n0 + n1 + n2,二叉树上分支总数 (总度数) b = n1+2n2,而 b = n-1 = n0 + n1 + n2 – 1,由此, n0 = n2 + 1。
除根结点外,每个结 点指向双亲结点的分
支只有一条。
两类特殊的二叉树:
满二叉树(Full Binary Tree) :指的是深度为 k 且含有 2k-1 个结点的二 叉树。

六章树ppt课件

六章树ppt课件
1
2
3
4
5
6
7
8 9 10 11
12 13 14 15
16 17
则有以下关系:
若i == 1, 则 i 无双亲
若i > 1, 则 i 的双亲为i /2
若2*i <= n, 则 i 的左子女为2*i;否则,i无左子女, 必定是叶结点,二叉树中i> n/2 的结点必定是叶 结点
若2*i+1 <= n, 则 i 的右子女为2*i+1,否则,i无右 子女
}
先序遍历 (Preorder Traversal)
先序遍历二叉树算法的定义:
若二叉树为空,则空操作; 否则
访问根结点 (V); 先序遍历左子树 (L); 先序遍历右子树 (R)。
遍历结果 -+ a * b -c d / e f
先序遍历二叉树的递归算法
void PreOrder ( BiTreeNode *T ) { if ( T != NULL ) { Visit( T->data); PreOrder ( T->leftChild ); PreOrder ( T->rightChild ); }
V
L
R
中序遍历 (Inorder Traversal)
中序遍历二叉树算法的定义:
若二叉树为空,则空操作; 否则
中序遍历左子树 (L); 访问根结点 (V); 中序遍历右子树 (R)。
遍历结果 a+b*c-d-e/f
中序遍历二叉树的递归算法
void InOrder ( BiTreeNode *T ) { if ( T != NULL ) { InOrder ( T->leftChild ); //递归 Visit( T->data); InOrder ( T->rightChild ); //递归 }

第6章(树和二叉树)

第6章(树和二叉树)

k
k
(第i层上的最大结点数) 2i1 2k 1
i 1
i 1
9/106
性质3: 对任何一棵二叉树T,如果其终端结点数为n0,度为2的 结点数为n2,则n0=n2+1。
设二叉树中度为1的结点数为n1,二叉树中总结点数为N,因为二 叉树中所有结点的度均小于或等于2,所以有:
N=n0+n1+n2
(b)i和i+1结点不在同一层
图6.6 完全二叉树中结点i和i+1
当i=1时,就是根,因此无双亲。
当i>1时,如果i为左孩子,即2×(i/2)=i,则i/2是i的双亲; 如果i为右孩子,i=2p+1,i的双亲应为p,p=(i-1) /2=i/2。 证毕。
19/106
6.2.3 二叉树的存储结构
PreOrder(bt->rchild); }
1、顺序存储结构
#define MAX_TREE_SIZE 100 typedef TElemType SqBiTree[ MAX_TREE_SIZE]; SqBitree bt;
按照顺序存储结构的定义,在此约定,用一组地址连续的 存储单元依次自上而下、自左至右存储完全二叉树上的结 点元素,即将完全二叉树上编号为i的的结点元素存储在 如上定义的一维数组中下标为i-1的分量中。
F G H I J 结点L的双亲:E
KL
结点A的孩子:B,C,D 结点B的孩子:E,F
M
结点F,G为堂兄弟 结点A是结点F、G的祖先
结点B,C,D为兄弟 结点K,L为兄弟
5/106
6.2 二叉树
二叉树在树结构的应用中起着非常重要的作用,因为针对二 叉树的许多操作算法简单,而任何树都可以与二叉树相互转 换,这样就解决了树的存储结构及其运算中存在的复杂性。

C语言程序设计第六章树

C语言程序设计第六章树

C语言程序设计第六章树
一、树的定义
树是在计算机科学领域中一种重要的数据结构,它由节点(Node)组成,可以用来表达其中一种层次关系,并且具有如下性质:
1、树有一个根节点,它是整个树的唯一起点;
2、树的子节点有零个或多个,子节点之前有次序关系;
3、树的子节点又可以有子节点,形成树的子树;
4、树中的节点间没有形成环路,不存在任何一个节点可以指向其父
节点。

二、树的分类
1、二叉树:每个节点最多只有两个子节点,一个子节点称作左孩子,另一个子节点称作右孩子;
2、平衡二叉树:平衡二叉树是指一棵二叉树深度的差小于等于1,
因此它可以用来快速检索和更新数据;
3、完全二叉树:完全二叉树是一种特殊的二叉树,它满足每个节点
都有两个子节点(除叶节点以外);
4、广义表:广义表是一种由不同数据元素组成的树状数据结构,它
有多个子节点,不一定都是二叉树;
5、线索二叉树:线索二叉树是一种特殊的二叉树,它在每个节点中
增加了两个额外的指针,以指向其前驱和后继;
6、二叉树:二叉树是一种特殊的二叉树,其节点的值必须严格大于其左子树中任何节点的值。

软件基础第六章 树

软件基础第六章 树

第六章 树
树和森林的关系: (1)一棵树去掉根 ,其子树构成一个森林; (2)一个森林增加一个根结点成为树。
18
第六章 树
6.1 树的有关概念
6.2 二叉树
6.3 二叉树的遍历 6.4 线索二叉树 6.5 树和森林 6.6 二叉排序树
6.7 Huffman树及其应用
19
6.2 二叉树
第六章 树
树是一种分枝结构的对象,在树的概念中,对每一
由(1)(2)(3)得
求得:n0=n2+1
D H
A B C E F I J
30
G
6.2.2 二叉树的性质
第六章 树
性质4 具有n个结点的完全二叉树的深度为log2n +1
证明:设所求完全二叉树的深度为k 由性质2和完全二叉树的定义知: 2k-1-1<n≤2k-1 k-1层的最多结点数 k层的最多结点数 由此可以推出:2k-1 ≤n<2k 取对数得: k-1≤log2n<k 由于k为整数,故有k-1= log2n 即: k= log2n +1
root
A
E
∧D
B∧
A K E
L F
B
D J M H
I
E K
A B F L C G H M D I
J
C G
12
6.1 树的有关概念 树的表示
第六章 树
(4)广义表表示法 (A)第一层 (A(B, C, D)) 第二层 (A(B(E,F), C(G), D(H,I,J))) 第三层 (A(B(E(K,L),F), C(G), D(H(M),I,J)))
第六章 树
6.1 树的有关概念
6.2 二叉树
6.3 二叉树的遍历 6.4 线索二叉树 6.5 树和森林 6.6 二叉排序树

数据结构:第6章 树和二叉树1-树的定义和性质

数据结构:第6章 树和二叉树1-树的定义和性质
t2y*pne0d+e1f*n1s+t0ru*nc2t node
lchild data rchild
{=2nd0a+tna1type data;
=n0s+tnr1u+cnt 0node *lchild, *rchild;
}JD;
=n0+n1+n2+1
A
A^ B
=n+1
B
C
D
^ C^
D
E
F
^E
^F^
G
它的孩子为第二层…… – 深度(depth)——树中结点的最大层次数 – 森林(forest)——m(m0)棵互不相交的树的集合
结点A的度:3 结点B的度:2 结点M的度:0
结点A的孩子:B,C,D 结点B的孩子:E,F
树的度:3
B
E
F
KL
结点A的层次:1 结点M的层次:4
叶子:K,L,F,G,M,I,J
k
k
(第i层的最大结点数) 2i1 2k 1
i 1
i 1
– 性质3:对任何一棵二叉树T,如果其终端结点数 为n0,度为2的结点数为n2,则n0=n2+1
证明:n1为二叉树T中度为1的结点数。 因为:二叉树中所有结点的度均小于或等于2。 所以:其结点总数n=n0+n1+n2。 又二叉树中,除根结点外,其余结点都只有一个 分支进入。 设B为分支总数,则n=B+1。 又:分支由度为1和度为2的结点射出,
– 结点的度(degree)——结点拥有的子树数 – 叶子(leaf)——度为0的结点 – 孩子(child)——结点子树的根称为该结点的孩子 – 双亲(parents)——孩子结点的上层结点叫该结点的~ – 兄弟(sibling)——同一双亲的孩子 – 树的度——一棵树中最大的结点度数 – 结点的层次(level)——从根结点算起,根为第一层,

八年级物理第6章知识点树

八年级物理第6章知识点树

八年级物理第6章知识点树随着人们对科学知识的不断探索和发现,物理这门学科已经成为现代科学中一门不可或缺的重要学科。

其中,八年级物理第6章知识点树是目前比较广泛被应用到物理教学中的一种教学方法。

一、知识点树的定义知识点树是指将整个知识体系按照不同的知识点进行分类,生成一种树状结构的图表。

在这个图表中,每个知识点都是树的一个节点,它们之间存在着明确的父子关系。

父节点代表的是较高层次的概念或者规律,而子节点则代表的是更为具体的概念或者规律。

以八年级物理第6章知识点树为例,可以将整个知识体系分为宏观世界和微观世界,根据知识的复杂程度和深度,一直分解到最基本的知识点。

二、知识点树的优点1. 明确知识点的层次结构通过对知识点的树状分类,可以清楚的了解到整个知识体系中各个知识点之间的层次关系和父子关系。

这对于学生来说非常有帮助,有利于他们更为深入地理解物理学中的各个概念。

2. 促进知识的理解和记忆知识点树是一种非常概括性的图表,能够让学生在一个全局的视角下来把握整个知识点体系的框架。

这种全局的认识有助于学生将不同概念之间的联系和区别更为清晰地表达出来。

3. 有利于知识的应用和扩展对于物理学来说,很多概念都是有一定的关联和联系的。

通过知识点树的分类方法,学生可以清楚地了解到不同概念之间的联系和应用。

这对于学生在以后的学习过程中应用和扩展物理知识将非常有帮助。

三、知识点树应用的难点1. 知识点的分类比较困难由于物理学的知识点非常多,将这些知识点按照层次进行分类也是极为困难的。

为了能够将知识点分类合理富有层次感,需要教师在教学过程中下大力气去调整和完善。

2. 适应学生的学习习惯对于一些学生来说,知识点树的分类方式可能并不是最适合他们的学习方法。

因此,在教学的过程中,老师不光要注重知识点的分类,还要了解学生的学习习惯,针对性地进行调整。

四、如何更好地运用知识点树进行教学知识点树是一种非常有效的教学方法,只有在教学中正确地运用它,才能更好地发挥其优良的教育效果。

《数据结构——C语言描述》第6章:树

《数据结构——C语言描述》第6章:树

2021/4/9
18
▪ 先根遍历算法 void preorder(Btree root) { if(root!=NULL) { Visit(root->data); preorder(root->Lchild); preorder(root->Rchild); } }
2021/4/9
19
▪ 中根遍历算法 void InOrder(Btree root) { if(root!=NULL) { InOrder(root->Lchild); Visit(root->data); InOrder(root->Rchild); } }
▪ 兄弟结点(sibling):具有同一双亲结 点的孩子结点之间互称为兄弟结点。图 6.1中,结点B,C,D互为兄弟,结点 K,L互为兄弟。
2021/4/9
5
▪ 树的度:树中最大的结点的度数即为树 的度。图6.1中的树的度为3。
▪ 结点的层次(level):从根结点算起, 根为第一层,它的孩子为第二层……。 若某结点在第l层,则其孩子结点就在 第l+1层。图6.1中,结点A的层次为1, 结点M的层次为4。
第六章 树和二叉树
▪ 树的概念与定义 ▪二叉树 ▪ 二叉树的遍历与线索化 ▪ 树和森林 ▪ 哈夫曼树及其应用 ▪ 树的计数
2021/4/9
1
6. 1树的概念与定义
树的定义:树(tree)是n(n≥0)个结点的有 限集T,当n=0时,称为空树;当n>0时, 满足以下条件: (1)有且仅有一个结点被称为树根(root) 结点; (2)当n>1时,除根结点以外的其余n-1 个结点可以划分成m(m>0)个互不相交的 有限集T1,T2,…,Tm,其中每一个集合本 身又2021/是4/9 一棵树,称为根的子树(subtree)2。

初级经济师树概念

初级经济师树概念

01 d
01
i 01
a
n
Huffman编码结果:d=0, i=10, a=110, n=111 WPL=1bit×7+2bit×5+3bit2+4=35小于等长码的 WPL=36
特征:每一码不会是另一码的前缀,译码时可惟一复原
Huffman编码也称为前缀

经典PPT模版 欢迎下载
14
二、Huffman编码
3 在F 中删去这两棵树,同时将新得到的二叉树加入 F中.
4 重复2 和3 , 直到 F 只含一棵树为止.这棵树便是Huffman树.
怎样证明它就是WPL最小的最优二叉树 参考信源编码 Huffman树的特点:没有度为1的结点.
经典PPT模版 欢迎下载
12
具体操作步骤:
step1:对权值进行合并、删除与替换
建议2: Huffman树的存储结构可采用顺序存储结构: 将整个Huffman树的结点存储在一个数组HT1..n..m中;
各叶子结点的编码存储在另一复合数组HC1..n中. 请参见教材P149图6.27的a和c
可参考: 1教材P147~149内容; 2严蔚敏数据结构演示程序; 3习题集P149 实习5.2要求; 4自测卷第6章上机方案二的源程序.
7 a
5 b
24 cd
(c)
WPL= 35
Huffman树是WPL 最小的

经典PPT模版 欢迎下载
10
1. 构造Huffman树的基本思想:
权值大的结点用短路径,权值小的结点用长路径.
WPL最小的 树
讨论:Huffman树有什么用 最小冗余编码、信息高效传输
例:设有4个字符d,i,a,n,出现的频度分别为7,5,2,4, 怎样编码才能使它们组成的报文在网络中传得最快
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6 章树(基础知识)习题练习答案6.1.假设在树中,结点x 是结点y 的双亲时,用(x,y)来表示树边.已知一棵树边的集合为{(i,m),(i,n),(e,i),(b,e),(b,d),(a,b),(g,j),(g,k),(c,g),(c,f),(h,l),(c,h),(a,c)}用树形表示法出此树,并回答下列问题:(1)哪个是根结点? (2)哪些是叶结点? (3)哪个是g 的双亲? (4)哪些是g 的祖先?(5)哪些是g 的孩子? (6)哪些是e 的子孙? (7)哪些是e 的兄弟?哪些是f 的兄弟?(8)结点b 和n 的层次各是多少? (9)树的深度是多少? (10)以结点c 为根的子树的深度是多课后答案网少? (11) 树的度数是多少?答:a 是根结点;dmnfjkl 是叶结点;c 是g 的双亲;c,a 是g 的祖先;j,k 是g 的孩子;imn 是e 的子孙;d 是e 的兄弟;g,h 是f 的兄弟;b 的层次是2;n 的层次是5;树的深度是5;以c 为根的子树深度是3;树的度数是3;6.2 一棵度为2的有序树与一棵二叉树有何区别?答:一棵度为二的有序树与一棵二叉树的区别在于:有序树的结点次序是相对于另一结点而言的,如果有序树中的子树只有一个孩子时,这个孩子结点就无须区分其左右次序,而二叉树无论其孩子数是否为2,均需确定其左右次序,也就是说二叉树的结点次序不是相对于另一结点而言而是确定的。

课后答案网6.3 试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

答:三个结点的树如下:只有两种形态○○/ \ |○○○|○三个结点的二叉树如下所示:有五种形态:(1) (2) (3) (4) (5)○○○○○/ \ / / \ \○○○○○○/ \ / \○○○○6.4 已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,...nm个度为m的结点,问该树中有多少片叶子?解:设该树中的叶子数为n0 个。

该树中的总结点数为n 个,则有:n=n0+n1+n2+…+nm (1)又有除根结点外,树中其他结点都有双亲结点,且是唯一的(由树中的分支表示),所以,有双亲的结点数为:n-1=0*n0+1*n1+2*n2+…+m*nm (2)联立(1)(2)方程组可得:叶子数为:n0=1+0*n1+1*n2+2*n3+...+(m-1)*nm6.5一个深度为h的满k叉树有如下性质:第h层上的结点都是叶子结点,其余各层上每个结点都有k 棵非空子树。

如果按层次顺序(同层自左至右)从1 开始对全部结点编号,问:课后答案网(1)各层的结点数目是多少?(2)编号为i 的结点的双亲结点(若存在)的编号是多少?(3)编号为i 的结点的第j 个孩子结点(若存在)的编号是多少?(4)编号为i 的结点的有右兄弟的条件是什么? 其右兄弟的编号是多少?解:(1) 层号为h 的结点数目为kh-1(2) 编号为i 的结点的双亲结点的编号是:|_ (i-2)/k _|+1(不大于(i-2)/k 的最大整数。

也就是(i-2)与k 整除的结果.以下/表示整除。

(3) 编号为i 的结点的第j 个孩子结点编号是:k*(i-1)+1+j;(4) 编号为i 的结点有右兄弟的条件是(i-1)能被k 整除右兄弟的编号是i+1.6.6高度为h的完全二叉树至少有多少个结点?至多有多少个结点? 解:高度为h 的完全二叉树至少有2h-1 个结点,至多有2h-1 个结点(也就是满二叉树)。

6.7 在具有n个结点的k叉树(k>=2)的k叉链表表示中,有多少个空指针?解:n 个结点的K 叉树共有n*k 个指针域,已使用的指针域为n-1,所以空指针的个数为:n(k-1)+1;6.8 假设二叉树包含的结点数据为1,3,7,12。

(1)画出两棵高度最大的二叉树;(2)画出两棵完全二叉树,要求每个双亲结点的值大于其孩子结点的值。

解:(1)高度最大的两棵二叉树如图:○1 ○1/ \○3 ○3课后答案网/ \○7 ○7/ \○2 ○2/ \○12 ○12(2)两棵完全二叉树如下:○12 ○12/ \ / \○7 ○3 ○7 ○3○1 ○2 ○2 ○16.9试找出分别满足下面条件的所有二叉树:(1)前序序列和中序序列相同;(2)中序序列和后序序列相同;(3)前序序列和后序序列相同;(4)前序、中序、后序序列均相同。

答:(1) 前序序列和中序序列相同的二叉树是:空二叉树或没有左子树的二叉树(右单支树)。

(2) 中序序列和后序序列相同的二叉树是:空二叉树或没有右子树的二叉树(左单支树)。

(3) 前序序列和后序序列相同的二叉树是:空二叉树或只有根的二叉树。

(4) 前序、中序、后序序列均相同的二叉树:空树或只有根结点的二叉树。

6.10 试采用顺序存储方法和链接存储方法分别画也6.30所示各二叉树的存储结构。

课后答案网解:(1)顺序存储方法:二叉树(a):下标0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21___________________________________________________________bt | |1 |2 |∮|∮|3 |∮|∮|∮|∮|4 |∮|∮|∮|∮|∮|∮|∮|∮|∮|∮| 5|___________________________________________________________ _______二叉树(b):下标0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ___________________________________________________________ _______________________bt| |1 |∮|2 |∮|∮|3 |∮|∮|∮|∮|∮|∮|4 |∮|∮|∮|∮|∮|∮|∮|∮|∮|∮|∮|∮|5 |___________________________________________________________ _______________________二叉树(c):下标0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ___________________________________________________________ ____________________bt | |1 |∮|2 |∮|∮|3 |4 |∮|∮|∮|∮|5 |6 |∮|∮|∮|∮|∮|∮|∮|∮|∮|∮|7 |8 |___________________________________________________________ ____________________二叉树(d):下标0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐bt││1 │2 │3 │4 │∮│5 │6 │∮│______________7 │∮│∮│∮│∮│8│9 │└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘(2)链式存储结构:二叉树(a):课后答案网↓root┌─┬─┬─┐││1 │∧│└┼┴─┴─┘↓┌─┬─┬─┐│∧│2 ││└─┴─┴┼┘┌─┬─┬─┐││3 │∧│└┼┴─┴─┘↓┌─┬─┬─┐│∧│4 ││└─┴─┴┼┘↓┌─┬─┬─┐│∧│5 │∧│└─┴─┴─┘二叉树(b):↓root┌─┬─┬─┐│∧│1 ││└─┴─┴┼┘↓┌─┬─┬─┐课后答案网 ││2 │∧│└┼┴─┴─┘┌─┬─┬─┐│∧│3 ││└─┴─┴┼┘↓┌─┬─┬─┐││4 │∧│└┼┴─┴─┘↓┌─┬─┬─┐│∧│5 │∧│└─┴─┴─┘二叉树(c):↓root┌─┬─┬─┐│∧│1 ││└─┴─┴┼┘↓┌─┬─┬─┐││2 ││└┼┴─┴┼┘↓↓┌─┬─┬─┐┌─┬─┬─┐││3 │││∧│4 │∧│└┼┴─┴┼┘└─┴─┴─┘课后答案网↓↓┌─┬─┬─┐┌─┬─┬─┐││5 │││∧│6 │∧│└┼┴─┴┼┘└─┴─┴─┘↓↓┌─┬─┬─┐┌─┬─┬─┐│∧│7 │∧││∧│8 │∧│└─┴─┴─┘└─┴─┴─┘二叉树(d):↓root┌─┬─┬─┐││1 ││└┼┴─┴┼┘↓↓┌─┬─┬─┐┌─┬─┬─┐││2 │∧│││3 ││└┼┴─┴─┘└┼┴─┴┼┘↓↓↓┌─┬─┬─┐┌─┬─┬─┐┌─┬─┬─┐│∧│4 │││∧│5 │∧│││6 ││└─┴─┴┼┘└─┴─┴─┘└┼┴─┴┼┘↓↓↓┌─┬─┬─┐┌─┬─┬─┐┌─┬─┬─┐│∧│7 │∧││∧│8 │∧││∧│9 │∧│└─┴─┴─┘└─┴─┴─┘└─┴─┴─┘课后答案网6.11 分别写出图6.30(下图)所示各二叉树的前序、中序和后序序列。

解:(a)前序序列:12345中序序列:24531后序序列:54321(b)前序序列:12345中序序列:13542后序序列:54321(c)前序序列:12357864中序序列:17583524后序序列:78563421(d)前序序列:124735689中序序列:742153896后序序列:7425896316.12 若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列和中序序列均能唯一地确定一棵二叉树,但由前序序列和后序序列却不一定能唯一地确定一棵二叉树。

(1)已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI 和GDHBAECIF,请画出此二叉树。

(2)已知一棵二叉树的在序序列和后序序列分别为BDCEAFHG 和DECBHGFA,请画出此二叉树。

(3)已知一棵二叉树的前序序列和后序序列分别为AB 和BA,请画出这两棵不同的二叉树。

解:(1)已知二叉树的前序序列为ABDGHCEFI 和中序序列GDHBAECIF,则可以根据前序序课后答案网列找到根结点为A,由此,通过中序序列可知它的两棵子树包分别含有GDHB 和ECIF 结点,又由前序序列可知B 和C 分别为两棵子树的根结点...以此类推可画出所有结点:○A/ \○B ○C/ / \○D ○E○F/ \ /○G ○H ○I(2)以同样的方法可画出该二叉树:○A/ \○B ○F\ \○C ○G/ \ \○D ○E ○H(3)这两棵不同的二叉树为:○A ○A/ \○B ○B6.13 对二叉树中的结点进行按层次顺序(每一层自左至右)的访问操作称为二叉树的层次遍历,遍历所得到的结点序列称为二叉树层次序列。

相关文档
最新文档