第6章 树和二叉树练习题及答案
数据结构 二叉树练习题答案
![数据结构 二叉树练习题答案](https://img.taocdn.com/s3/m/44cd6759102de2bd970588a8.png)
数据结构第6章树和二叉树一、下面是有关二叉树的叙述,请判断正误(√)1.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n-1个非空指针域。
n个结点的二叉树有n-1条分支(×)2.二叉树中每个结点的两棵子树的高度差等于1。
(√)3.二叉树中每个结点的两棵子树是有序的。
(×)4.二叉树中每个结点有两棵非空子树或有两棵空子树。
(×)5.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
(应当是二叉排序树的特点)(×)6.二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(应2k-1)(×)7.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
(×)8.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i -1个结点。
(应2i-1)(√)9.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(用二叉链表存储包含n个结点的二叉树,结点共有2n个链域。
由于二叉树中,除根结点外,每一个结点有且仅有一个双亲,所以只有n-1个结点的链域存放指向非空子女结点的指针,即有后继链接的指针仅n-1个,还有n+1个空指针。
)采用二叉链表存储有2n个链域,空链域为:2n-(n-1)=n+1(√)10.具有12个结点的完全二叉树有5个度为2的结点。
最快方法:用叶子数=[ n/2] =6,再求n2=n0-1=5 [n/2] 除的结果四舍五入二、填空1.由3个结点所构成的二叉树有5种形态。
2. 一棵深度为6的满二叉树有n1+n2=0+ n2= n0-1=31 个分支结点和26-1 =32个叶子。
注:满二叉树没有度为1的结点,所以分支结点数就是二度结点数。
(或:总结点数为n=2k-1=26-1=63,叶子数为n0= [ n/2] =32,满二叉数没有度为1的结点,由n0=n2+1得n2=n0-1=32-1=31)3.一棵具有257个结点的完全二叉树,它的深度为9。
数据库系统l试题库及答案 第6章 树和二叉树
![数据库系统l试题库及答案 第6章 树和二叉树](https://img.taocdn.com/s3/m/b128df4879563c1ec5da71d0.png)
第6章树和二叉树6.1知识点: 树和二叉树的基本概念一、填空题1.高度为h,度为m的树中至少有___________个结点,至多有______________个结点。
2.树的结点是由及若干指向其子树的组成;结点拥有的子树数称为;度为0的结点称为;度不为0的结点成为;树中结点的最大度数称为;树的最大层次称为_____________。
3.对于一棵具有n个结点的树,该树中所有结点的度数之和为___________。
4.如果结点A有3个兄弟结点,而且B是A的双亲,则B的度是___________。
5.二叉树是另一种树形结构,它的特点是。
6.一颗度数为k且有2k-1个结点的二叉树称为。
7.深度为k,且有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1到n的结点一一对应时,称之为。
8.一棵深度为6的满二叉树有个分支结点和个叶子。
9.一棵具有257个结点的完全二叉树,它的深度为。
10.设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
11.由3个结点可以构成__________种形态的的二叉树,可以构成种形态的树。
12.将含有82个结点的完全二叉树从根结点开始顺序编号,根结点为第1号,其他结点自上向下,同一层自左向右连续编号。
则第40号结点的双亲结点的编号为。
13.一棵高度为5的完全二叉树中,最多包含有____________个结点。
14.一棵具有n个结点的二叉树,若它有n0个叶子结点,则该二叉树上度为1的结点n1=____________。
15.在高度为h(h>=0)的二叉树中至多可以有__________个结点,至少可以有___________个结点。
16.n个结点的二叉树最大高度是____________,最小高度是_______________。
二、选择题1.( )不含任何结点的空树()。
A.是一棵树B.是一棵二叉树C.是一棵树也是一棵二叉树D.既不是树也不是二叉树2.()一棵度为4的树中度为1、2、3、4的结点个数为4、3、2、1,则该树的结点总数为()。
数据结构课后习题答案及解析第六章
![数据结构课后习题答案及解析第六章](https://img.taocdn.com/s3/m/d26ed12ebed5b9f3f90f1ca7.png)
第六章树和二叉树(下载后用阅读版式视图或web版式可以看清)习题一、选择题1.有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。
表示该遗传关系最适合的数据结构为( )。
A.向量B.树 C图 D.二叉树2.树最合适用来表示( )。
A.有序数据元素 B元素之间具有分支层次关系的数据C无序数据元素 D.元素之间无联系的数据3.树B的层号表示为la,2b,3d,3e,2c,对应于下面选择的( )。
A. la (2b (3d,3e),2c)B. a(b(D,e),c)C. a(b(d,e),c)D. a(b,d(e),c)4.高度为h的完全二叉树至少有( )个结点,至多有( )个结点。
A. 2h_lB.h C.2h-1 D. 2h5.在一棵完全二叉树中,若编号为f的结点存在右孩子,则右子结点的编号为( )。
A. 2iB. 2i-lC. 2i+lD. 2i+26.一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为 ( )。
A.3B.4C.5D.67.深度为5的二叉树至多有( )个结点。
A. 31B. 32C. 16D. 108.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为( )个。
A. 15B. 16C. 17D. 479.题图6-1中,( )是完全二叉树,( )是满二叉树。
..专业知识编辑整理..10.在题图6-2所示的二叉树中:(1)A结点是A.叶结点 B根结点但不是分支结点 C根结点也是分支结点 D.分支结点但不是根结点(2)J结点是A.叶结点 B.根结点但不是分支结点 C根结点也是分支结点 D.分支结点但不是根结点(3)F结点的兄弟结点是A.EB.D C.空 D.I(4)F结点的双亲结点是A.AB.BC.CD.D(5)树的深度为A.1B.2C.3D.4(6)B结点的深度为A.1B.2C.3D.4(7)A结点所在的层是A.1B.2C.3D.4..专业知识编辑整理..11.在一棵具有35个结点的完全二叉树中,该树的深度为( )。
第6章 树和二叉树答案
![第6章 树和二叉树答案](https://img.taocdn.com/s3/m/3e6e77b4a45177232e60a227.png)
第6章树和二叉树部分答案解释如下。
12. 由二叉树结点的公式:n=n0+n1+n2=n0+n1+(n0-1)=2n0+n1-1,因为n=1001,所以1002=2n0+n1,在完全二叉树树中,n1只能取0或1,在本题中只能取0,故n=501,因此选E。
42.前序序列是“根左右”,后序序列是“左右根”,若要这两个序列相反,只有单支树,所以本题的A和B均对,单支树的特点是只有一个叶子结点,故C是最合适的,选C。
A或B 都不全。
由本题可解答44题。
47. 左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。
52.线索二叉树是利用二叉树的空链域加上线索,n个结点的二叉树有n+1个空链域。
部分答案解释如下。
6.只有在确定何序(前序、中序、后序或层次)遍历后,遍历结果才唯一。
19.任何结点至多只有左子树的二叉树的遍历就不需要栈。
24. 只对完全二叉树适用,编号为i的结点的左儿子的编号为2i(2i<=n),右儿子是2i+1(2i+1<=n)37. 其中序前驱是其左子树上按中序遍历的最右边的结点(叶子或无右子女),该结点无右孩子。
38 . 新插入的结点都是叶子结点。
42. 在二叉树上,对有左右子女的结点,其中序前驱是其左子树上按中序遍历的最右边的结点(该结点的后继指针指向祖先),中序后继是其右子树上按中序遍历的最左边的结点(该结点的前驱指针指向祖先)。
44.非空二叉树中序遍历第一个结点无前驱,最后一个结点无后继,这两个结点的前驱线索和后继线索为空指针。
三.填空题1.(1)根结点(2)左子树(3)右子树2.(1)双亲链表表示法(2)孩子链表表示法(3)孩子兄弟表示法3.p->lchild==null && p->rchlid==null 4.(1) ++a*b3*4-cd (2)18 5.平衡因子6. 97. 128.(1)2k-1 (2)2k-19.(1)2H-1 (2)2H-1(3)H=⎣log2N⎦+110. 用顺序存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,要加“虚结点”。
树和二叉树(习题及作业)
![树和二叉树(习题及作业)](https://img.taocdn.com/s3/m/4f25a32fbd64783e09122b88.png)
• 3下列各项叙述中,正确的是 。 • A) 二叉树中每个结点有两个子结点,而对 一般的树则无此限制 • B) 用树的前序遍历和中序遍历可以推导出 树的后续遍历 • C) 在二叉树中插入结点,该二叉树便不再 是二叉树 • D) 用一维数组存储二叉树,总是以前序遍 历顺序存储结点
• • • • •
第6章 树和二叉树
• 1.如果二叉树中任何一个结点的值都小于它 的左子树上所有结点的值,且大于右子树 上所有结点的值,要得到个结点值的递增 序列,应按下列 次序排列结点。 • A) 先根 • B) 中根 • C) 后根 • D) 层次
• 2.设森林F中有3棵树。第一、第二和第三棵 树的结点个数分别是m1,m2和m3,则与森 林F对应的二叉树根结点的右子树上的结点 个数是 。 • A) m3 • B) m2 + m3 • C) m1 •B) 孩子链表表示法 C) 孩子兄弟表示法 D) 顺序存储表示法
不是树的存储形式。
• 假设用于通信的电文由字符集{a,b,c,d,e,f,g} 中的字母构成。它们在电文中出现的频度 分别为{0.31,0.16,0.10,0.08,0.11,,0.20,0.04}, • 为这7个字母设计哈夫曼编码; • 计算其带权路径长度
数据结构 第六章 树和二叉树作业及答案
![数据结构 第六章 树和二叉树作业及答案](https://img.taocdn.com/s3/m/58679b303c1ec5da50e270d1.png)
第六章树和二叉树作业一、选择题(每题2分,共24分)。
1. 一棵二叉树的顺序存储情况如下:树中,度为2的结点数为( C )。
A.1 B.2 C.3 D.42. 一棵“完全二叉树”结点数为25,高度为(B )。
A.4 B.5 C.6 D.不确定3.下列说法中,(B )是正确的。
A. 二叉树就是度为2的树B. 二叉树中不存在度大于2的结点C. 二叉树是有序树D. 二叉树中每个结点的度均为24.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是(B )。
A. CABDEFGB. BCDAEFGC. DACEFBGD. ADBCFEG5.线索二叉树中的线索指的是(C )。
A.左孩子 B.遍历 C.指针 D.标志6. 建立线索二叉树的目的是(A )。
A. 方便查找某结点的前驱或后继B. 方便二叉树的插入与删除C. 方便查找某结点的双亲D. 使二叉树的遍历结果唯一7. 有 D )示意。
A.B.C.D.8. 一颗有2046个结点的完全二叉树的第10层上共有(B )个结点。
A. 511B. 512C. 1023D. 10249. 一棵完全二叉树一定是一棵(A )。
A. 平衡二叉树B. 二叉排序树C. 堆D. 哈夫曼树10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是( C )的二叉树。
A .空或只有一个结点B .高度等于其结点数C .任一结点无左孩子D .任一结点无右孩子11.一棵二叉树的顺序存储情况如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A B C D E 0 F 0 0 G H 0 0 0 X结点D 的左孩子结点为( D )。
A .EB .C C .FD .没有12.一棵“完全二叉树”结点数为25,高度为( B )。
A .4B .5C .6D .不确定二、填空题(每空3分,共18分)。
1. 树的路径长度:是从树根到每个结点的路径长度之和。
对结点数相同的树来说,路径长度最短的是 完全 二叉树。
数据结构第6章作业 树和二叉树答案
![数据结构第6章作业 树和二叉树答案](https://img.taocdn.com/s3/m/37fc1470de80d4d8d05a4f1a.png)
第6章树和二叉树答案一、判断正误(√)1. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
(×)2.二叉树中每个结点的两棵子树的高度差等于1。
(√)3.二叉树中每个结点的两棵子树是有序的。
(×)4.二叉树中每个结点有两棵非空子树或有两棵空子树。
(×)5.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
(应当是二叉排序树的特点)(×)6.二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(应2i-1)(×)7.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
(×)8.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。
(应2i-1)(√)9.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(正确。
用二叉链表存储包含n个结点的二叉树,结点共有2n个链域。
由于二叉树中,除根结点外,每一个结点有且仅有一个双亲,所以只有n-1个结点的链域存放指向非空子女结点的指针,还有n+1个空指针。
)即有后继链接的指针仅n-1个。
(√)10. 〖01年计算机系研题〗具有12个结点的完全二叉树有5个度为2的结点。
最快方法:用叶子数=[n/2]=6,再求n2=n0-1=5二、填空题1.由3个结点所构成的二叉树有5种形态。
2. 一棵深度为6的满二叉树有n1+n2=0+ n2= n0-1=31 个分支结点和26-1 =32个叶子。
注:满二叉树没有度为1的结点,所以分支结点数就是二度结点数。
3.一棵具有257个结点的完全二叉树,它的深度为9。
(注:用⎣ log2(n) ⎦+1= ⎣ 8.xx ⎦+1=94.设一棵完全二叉树有700个结点,则共有350个叶子结点。
数据结构二叉树习题含答案
![数据结构二叉树习题含答案](https://img.taocdn.com/s3/m/502f3994f5335a8102d220f7.png)
第 6 章树和二叉树1.选择题( 1)把一棵树变换为二叉树后,这棵二叉树的形态是()。
A.独一的B.有多种C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子( 2)由 3 个结点能够结构出多少种不一样的二叉树?()A. 2 B . 3 C . 4 D. 5( 3)一棵完整二叉树上有1001 个结点,此中叶子结点的个数是()。
A. 250 B . 500 C . 254 D. 501( 4)一个拥有 1025 个结点的二叉树的高h 为()。
A. 11 B . 10 C.11 至 1025 之间 D .10 至 1024 之间( 5)深度为 h 的满 m叉树的第 k 层有()个结点。
(1=<k=<h)k-1B kCh-1 hA. m . m-1 . m D.m-1( 6)利用二叉链表储存树,则根结点的右指针是()。
A.指向最左孩子 B .指向最右孩子 C .空 D .非空( 7)对二叉树的结点从 1 开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采纳()遍历实现编号。
A.先序 B. 中序 C. 后序 D.从根开始按层次遍历(8)若二叉树采纳二叉链表储存结构,要互换其全部分支结点左、右子树的地点,利用()遍历方法最适合。
A.前序B.中序C.后序D.按层次(9)在以下储存形式中,()不是树的储存形式?A.双亲表示法 B .孩子链表表示法 C .孩子兄弟表示法D.次序储存表示法( 10)一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树必定满足()。
A.全部的结点均无左孩子B.全部的结点均无右孩子C.只有一个叶子结点D.是随意一棵二叉树( 11)某二叉树的前序序列和后序序列正好相反,则该二叉树必定是()的二叉树。
A.空或只有一个结点B.任一结点无左子树C.高度等于其结点数 D .任一结点无右子树( 12)若 X 是二叉中序线索树中一个有左孩子的结点,且 X 不为根,则 X 的前驱为()。
数据结构习题与答案--树和二叉树
![数据结构习题与答案--树和二叉树](https://img.taocdn.com/s3/m/c6d7785abe23482fb4da4c0a.png)
第六章树和二叉树一、判断题( t )01、若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
( f )02、二叉树中每个结点的两棵子树的高度差等于1。
(t )03、二叉树中每个结点的两棵子树是有序的。
( f )04、二叉树中每个结点有两棵非空子树或有两棵空子树。
( f )05、二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(f )06、二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
( f )07、对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。
(t )08、用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(t)09、具有12个结点的完全二叉树有5个度为2的结点。
( f )10、二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
( f )11、二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索。
( t )12、二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。
二、填空题01、由3个结点所构成的二叉树有_5_种形态。
02、一棵深度为6的满二叉树有____个分支结点和____个叶子。
03、一棵具有257个结点的完全二叉树,它的深度为____。
04、设一棵完全二叉树有700个结点,则共有____个叶子结点。
05、设一棵完全二叉树具有1000个结点,则此完全二叉树有____个叶子结点,有____个度为2的结点,有____个结点只有非空左子树,有____个结点只有非空右子树。
06、一棵含有n个结点的k叉树,可能达到的最大深度为____,最小深度为____。
07、二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。
因而二叉树的遍历次序有六种。
最常用的是三种:前序法(即按N L R次序),后序法(即按LRN次序)和中序法(也称对称序法,即按L N R次序)。
第6章_数据结构习题题目及答案_树和二叉树_参考答案
![第6章_数据结构习题题目及答案_树和二叉树_参考答案](https://img.taocdn.com/s3/m/ee0dcde0102de2bd96058840.png)
一、基础知识题6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。
【解答】设度为m的树中度为0,1,2,…,m的结点数分别为n0, n1, n2,…, nm,结点总数为n,分枝数为B,则下面二式成立n= n0+n1+n2+…+nm (1)n=B+1= n1+2n2 +…+mnm+1 (2)由(1)和(2)得叶子结点数n0=1+即: n0=1+(1-1)*4+(2-1)*2+(3-1)*1+(4-1)*1=86.2一棵完全二叉树上有1001个结点,求叶子结点的个数。
【解答】因为在任意二叉树中度为2 的结点数n2和叶子结点数n0有如下关系:n2=n0-1,所以设二叉树的结点数为n, 度为1的结点数为n1,则n= n0+ n1+ n2n=2n0+n1-11002=2n0+n1由于在完全二叉树中,度为1的结点数n1至多为1,叶子数n0是整数。
本题中度为1的结点数n1只能是0,故叶子结点的个数n0为501.注:解本题时要使用以上公式,不要先判断完全二叉树高10,前9层是满二叉树,第10层都是叶子,……。
虽然解法也对,但步骤多且复杂,极易出错。
6.3 一棵124个叶结点的完全二叉树,最多有多少个结点。
【解答】由公式n=2n0+n1-1,当n1为1时,结点数达到最多248个。
6.4.一棵完全二叉树有500个结点,请问该完全二叉树有多少个叶子结点?有多少个度为1的结点?有多少个度为2的结点?如果完全二叉树有501个结点,结果如何?请写出推导过程。
【解答】由公式n=2n0+n1-1,带入具体数得,500=2n0+n1-1,叶子数是整数,度为1的结点数只能为1,故叶子数为250,度为2的结点数是249。
若完全二叉树有501个结点,则叶子数251,度为2的结点数是250,度为1的结点数为0。
6.5 某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数是多少。
数据结构与算法第六章课后答案第六章 树和二叉树
![数据结构与算法第六章课后答案第六章 树和二叉树](https://img.taocdn.com/s3/m/3bad98ceda38376baf1faeca.png)
第6章 树和二叉树(参考答案)6.1(1)根结点a6.2三个结点的树的形态: 三个结点的二叉树的形态:(1) (1) (2) (4) (5)6.3 设树的结点数是n ,则n=n0+n1+n2+……+nm+ (1)设树的分支数为B ,有n=B+1n=1n1+2n2+……+mnm+1 (2)由(1)和(2)有:n0=n2+2n3+……+(m-1)nm+16.4(1) k i-1 (i 为层数)(2) (n-2)/k+1(3) (n-1)*k+i+1(4) (n-1)%k !=0; 其右兄弟的编号 n+16.5(1)顺序存储结构注:#为空结点6.6(1) 前序 ABDGCEFH(2) 中序 DGBAECHF(3) 后序 GDBEHFCA6.7(1) 空二叉树或任何结点均无左子树的非空二叉树(2) 空二叉树或任何结点均无右子树的非空二叉树(3) 空二叉树或只有根结点的二叉树6.8int height(bitree bt)// bt是以二叉链表为存储结构的二叉树,本算法求二叉树bt的高度{ int bl,br; // 局部变量,分别表示二叉树左、右子树的高度if (bt==null) return(0);else { bl=height(bt->lchild);br=height(bt->rchild);return(bl>br? bl+1: br+1); // 左右子树高度的大者加1(根) }}// 算法结束6.9void preorder(cbt[],int n,int i);// cbt是以完全二叉树形式存储的n个结点的二叉树,i是数// 组下标,初始调用时为1。
本算法以非递归形式前序遍历该二叉树{ int i=1,s[],top=0; // s是栈,栈中元素是二叉树结点在cbt中的序号 // top是栈顶指针,栈空时top=0if (n<=0) { printf(“输入错误”);exit(0);}while (i<=n ||top>0){ while(i<=n){visit(cbt[i]); // 访问根结点if (2*i+1<=n) s[++top]=2*i+1; //若右子树非空,其编号进栈i=2*i;// 先序访问左子树}if (top>0) i=s[top--]; // 退栈,先序访问右子树} // END OF while (i<=n ||top>0)}// 算法结束//以下是非完全二叉树顺序存储时的递归遍历算法,“虚结点”用‘*’表示void preorder(bt[],int n,int i);// bt是以完全二叉树形式存储的一维数组,n是数组元素个数。
第六章树和二叉树答案
![第六章树和二叉树答案](https://img.taocdn.com/s3/m/c0d60d115f0e7cd1842536c8.png)
第6章树和二叉树12. 由二叉树结点的公式:n=n0+n1+n2=n0+n1+(n0-1)=2n0+n1-1,因为n=1001,所以1002=2n0+n1,在完全二叉树树中,n1只能取0或1,在本题中只能取0,故n=501,因此选E。
42.前序序列是“根左右”,后序序列是“左右根”,若要这两个序列相反,只有单支树,所以本题的A和B均对,单支树的特点是只有一个叶子结点,故C是最合适的,选C。
A或B都不全。
由本题可解答44题。
47. 左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。
52.线索二叉树是利用二叉树的空链域加上线索,n个结点的二叉树有n+1个空链域。
部分答案解释如下。
6.只有在确定何序(前序、中序、后序或层次)遍历后,遍历结果才唯一。
19.任何结点至多只有左子树的二叉树的遍历就不需要栈。
24. 只对完全二叉树适用,编号为i的结点的左儿子的编号为2i(2i<=n),右儿子是2i+1(2i+1<=n)37. 其中序前驱是其左子树上按中序遍历的最右边的结点(叶子或无右子女),该结点无右孩子。
38 . 新插入的结点都是叶子结点。
42. 在二叉树上,对有左右子女的结点,其中序前驱是其左子树上按中序遍历的最右边的结点(该结点的后继指针指向祖先),中序后继是其右子树上按中序遍历的最左边的结点(该结点的前驱指针指向祖先)。
44.非空二叉树中序遍历第一个结点无前驱,最后一个结点无后继,这两个结点的前驱线索和后继线索为空指针。
三.填空题1.(1)根结点(2)左子树(3)右子树2.(1)双亲链表表示法(2)孩子链表表示法(3)孩子兄弟表示法3.p->lchild==null && p->rchlid==null 4.(1) ++a*b3*4-cd (2)18 5.平衡因子6. 97. 128.(1)2k-1 (2)2k-19.(1)2H-1 (2)2H-1 (3)H=⎣log2N⎦+1 10. 用顺序存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,要加“虚结点”。
第6章 树和二叉树-习题-答案
![第6章 树和二叉树-习题-答案](https://img.taocdn.com/s3/m/3c49365bfe4733687e21aa6e.png)
第6章树和二叉树习题答案1.从概念上讲,树,森林和二叉树是三种不同的数据结构,将树,森林转化为二叉树的基本目的是什么,并指出树和二叉树的主要区别。
答:树的孩子兄弟链表表示法和二叉树二叉链表表示法,本质是一样的,只是解释不同,也就是说树(树是森林的特例,即森林中只有一棵树的特殊情况)可用二叉树唯一表示,并可使用二叉树的一些算法去解决树和森林中的问题。
树和二叉树的区别有三:一是二叉树的度至多为2,树无此限制;二是二叉树有左右子树之分,即使在只有一个分枝的情况下,也必须指出是左子树还是右子树,树无此限制;三是二叉树允许为空,树一般不允许为空(个别书上允许为空)。
2.请分析线性表、树、广义表的主要结构特点,以及相互的差异与关联。
答:线性表属于约束最强的线性结构,在非空线性表中,只有一个“第一个”元素,也只有一个“最后一个”元素;除第一个元素外,每个元素有唯一前驱;除最后一个元素外,每个元素有唯一后继。
树是一种层次结构,有且只有一个根结点,每个结点可以有多个子女,但只有一个双亲(根无双亲),从这个意义上说存在一(双亲)对多(子女)的关系。
广义表中的元素既可以是原子,也可以是子表,子表可以为它表共享。
从表中套表意义上说,广义表也是层次结构。
从逻辑上讲,树和广义表均属非线性结构。
但在以下意义上,又蜕变为线性结构。
如度为1的树,以及广义表中的元素都是原子时。
另外,广义表从元素之间的关系可看成前驱和后继,也符合线性表,但这时元素有原子,也有子表,即元素并不属于同一数据对象。
3.在二叉树的Llink-Rlink存储表示中,引入“线索”的好处是什么?答:在二叉链表表示的二叉树中,引入线索的目的主要是便于查找结点的前驱和后继。
因为若知道各结点的后继,二叉树的遍历就变成非常简单。
二叉链表结构查结点的左右子女非常方便,但其前驱和后继是在遍历中形成的。
为了将非线性结构二叉树的结点排成线性序列,利用结点的空链域,左链为空时用作前驱指针,右链为空时作为后继指针。
数据结构课后习题答案第六章
![数据结构课后习题答案第六章](https://img.taocdn.com/s3/m/267ef7ac524de518964b7df6.png)
欢迎下载
6
-
9.已知信息为“ ABCD BCD CB DB ACB ”,请按此信息构造哈夫曼树,求出每一字符的最优编码。 10. 己知中序线索二叉树采用二叉链表存储结构,链结点的构造为:
_,双分支结点的个数为 ____, 3 分支结点的个数为 ____, C 结点的双亲结点为 ____ ,其孩子结点为 ____。
5. 一棵深度为 h 的满 k 叉树有如下性质:第 h 层上的结点都是叶子结点,其余各层上的每个结点都有
k 棵非空子树。
如果按层次顺序(同层自左至右)从 1 开始对全部结点编号,则:
7.二叉树的遍历分为 ____ ,树与森林的遍历包括 ____。 8.一棵二叉树的第 i(i>=1) 层最多有 ____ 个结点;一棵有 n(n>0) 个结点的满二叉树共有 ____ 个叶子和 ____个非终端结点。
9.在一棵二叉树中,假定双分支结点数为 5 个,单分支结点数为 6 个,则叶子结点为 ____个。
A. 逻辑 B.逻辑和存储 C.物理 D.线性 19.由权值分别是 8,7, 2, 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为
A. 23 B. 37 C. 46 D. 43 20.设 T 是哈夫曼树,具有 5 个叶结点,树 T 的高度最高可以是 ( )。
A.2 B . 3 C. 4 D. 5
()
6.在叶子数目和权值相同的所有二叉树中,最优二叉树一定是完全二叉树。
()
7.由于二叉树中每个结点的度最大为 2,所以二叉树是一种特殊的树。 8.二叉树的前序遍历序列中,任意一个结点均处在其子树结点的前面。
数据结构第六章 树和二叉树课后习题答案
![数据结构第六章 树和二叉树课后习题答案](https://img.taocdn.com/s3/m/42e85484ec3a87c24028c4e2.png)
第六章课后习题6、1、各层的结点数目是:K2、编号为n的结点的双亲结点是:<=(n-2)/k的最大整数3、编号为n的结点的第i个孩子结点编号是:k*(n-1)+1+i4、编号为n的结点有右兄弟的条件是:(n-1)能被k整除右兄弟的编号是:n+1.7、1、先序序列和中序序列相同:空二叉树或没有左子树的二叉树。
2、中序序列和后序序列相同:空二叉树或没有右子树的二叉树。
3、先序序列和后序序列相同:空二叉树或只有根的二叉树。
9、中序序列:BDCEAFHG和后序序列:DECBHGFA的二叉树为:AB FC GD E H先序序列:ABCDEFGH算法设计:3、typedef struct{int data[100];int top;}seqstack;seqstack *s;Perorder(char a[],int n){int i=1,count=1;s->top=-1;if(n==0)return(0);else{if(I<=n){s->top++;s->data[s->top]=a[I];}while(count<n){printf(“%c”,s->data[s->top]);count++;s->top--;if(s->data[s->top]);==a[i]){ printf(“%c”,s->data[s->top]);count++;s->top--;}if((2*i+1)<n){i=2*i;s->top++;s->data[s->top]=a[i+1];s->top++;s->data[s->top]=a[i];}else if(a*i<n){i=2*i;s->top++;s->data[s->top]=a[i];}else if(i/2%2==1)i=i/2/2+1;else i=i/2+1;}}}main(){char A[]=“kognwyuvb”;int n=strlen(A);s=(seqstack *)malloc(sizeof(seqstack)); printf(“\n”);Perorder(A,n);}。
数据结构第6章树和二叉树
![数据结构第6章树和二叉树](https://img.taocdn.com/s3/m/6b45f15c842458fb770bf78a6529647d272834f2.png)
数据结构第6章树和⼆叉树第六章树和⼆叉树⼀、选择题1.已知⼀算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( )A.-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE2.设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶⼦数为()A.5 B.6 C.7 D.83.在下述结论中,正确的是()①只有⼀个结点的⼆叉树的度为0; ②⼆叉树的度为2;③⼆叉树的左右⼦树可任意交换;④深度为K的完全⼆叉树的结点个数⼩于或等于深度相同的满⼆叉树。
A.①②③ B.②③④ C.②④ D.①④4.设森林F对应的⼆叉树为B,它有m个结点,B的根为p,p的右⼦树结点个数为n,森林F中第⼀棵树的结点个数是()A.m-n B.m-n-1 C.n+1 D.条件不⾜,⽆法确定5.⼀棵完全⼆叉树上有1001个结点,其中叶⼦结点的个数是()A.250 B. 254 C.500 D.5016.设给定权值总数有n 个,其哈夫曼树的结点总数为( )A.不确定 B.2n C.2n+1 D.2n-17.有关⼆叉树下列说法正确的是()A.⼆叉树的度为2 B.⼀棵⼆叉树的度可以⼩于2 C.⼆叉树中⾄少有⼀个结点的度为2 D.⼆叉树中任何⼀个结点的度都为2 8.⼆叉树的第I层上最多含有结点数为()A.2I B. 2I-1-1 C. 2I-1 D.2I -19.⼀个具有1025个结点的⼆叉树的⾼h为()A.11 B.10 C.11⾄1025之间 D.10⾄1024之间10.⼀棵⼆叉树⾼度为h,所有结点的度或为0,或为2,则这棵⼆叉树最少有( )结点A.2h B.2h-1 C.2h+1 D.h+111.⼀棵具有 n个结点的完全⼆叉树的树⾼度(深度)是()A.?log2n?+1 B.log2n+1 C.?log2n? D.log2n-112.深度为h的满m叉树的第k层有()个结点。
数据结构第六章树和二叉树习题及答案
![数据结构第六章树和二叉树习题及答案](https://img.taocdn.com/s3/m/82b48b1b7cd184254b3535bc.png)
习题六树和二叉树一、单项选择题1.以下说法错误的是 ( )A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是 ( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于23.讨论树、森林和二叉树的关系,目的是为了()A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示 ( )A.有序数据元素 B.无序数据元素C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F 对应的二叉树根结点的右子树上的结点个数是()。
A.M1 B.M1+M2 C.M3 D.M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A. 250 B. 500 C.254 D.505 E.以上答案都不对8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )A.不确定 B.2n C.2n+1 D.2n-19.二叉树的第I层上最多含有结点数为()A.2I B. 2I-1-1 C. 2I-1 D.2I -110.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A.2h B.2h-1 C.2h+1 D.h+111. 利用二叉链表存储树,则根结点的右指针是()。
A.指向最左孩子 B.指向最右孩子 C.空 D.非空12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。
第6章树和二叉树练习题及答案
![第6章树和二叉树练习题及答案](https://img.taocdn.com/s3/m/55b0c244793e0912a21614791711cc7931b778e8.png)
第6章树和二叉树练习题及答案一、判断题(√)1. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
(×)2.二叉树中每个结点的两棵子树的高度差等于1。
(√)3.二叉树中每个结点的两棵子树是有序的。
(×)4.二叉树中每个结点有两棵非空子树或有两棵空子树。
(×)5.二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(应2i-1)(×)6.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
(×)7.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i —1个结点。
(应2i-1)(√)8.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(√)9.具有12个结点的完全二叉树有5个度为2的结点。
( ) 10、哈夫曼树中没有度为1的结点,所以必为满二叉树。
( )11、在哈夫曼树中,权值最小的结点离根结点最近。
( )12、线索二叉树是一种逻辑结构。
(√)13、深度为K的完全二叉树至少有2K-1个结点。
(√ )14、具有n个结点的满二叉树,其叶结点的个数为(n+1)/2。
(√ )15、前序和中序遍历用线索树方式存储的二叉树,不必使用栈。
(╳ )16、哈夫曼树是带权路径长度最短的树,路径上权值较大的点离根较远。
(√)17、在二叉树结点的先序序列和后序序列中,所有叶子结点的先后顺序完全相同。
(√)18、二叉树的遍历操作实际上是将非线性结构线性化的过程(√)19、树的先根遍历序列与其所转化的二叉树的先序遍历序列相同。
(╳)20、树的后根遍历序列与其所转化的二叉树的后序遍历序列相同。
二、填空1.由3个结点所构成的二叉树有 5 种形态。
2. 线索二叉树的左线索指向其_前驱_____,右线索指向其__后继____。
3.一棵具有257个结点的完全二叉树,它的深度为 9 。
4、如某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_69_____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题(√)1. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
(×)2.二叉树中每个结点的两棵子树的高度差等于1。
(√)3.二叉树中每个结点的两棵子树是有序的。
(×)4.二叉树中每个结点有两棵非空子树或有两棵空子树。
(×)5.二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(应2i-1)(×)6.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
(×)7.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i —1个结点。
(应2i-1)(√)8.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(√)9.具有12个结点的完全二叉树有5个度为2的结点。
( ) 10、哈夫曼树中没有度为1的结点,所以必为满二叉树。
( )11、在哈夫曼树中,权值最小的结点离根结点最近。
( )12、线索二叉树是一种逻辑结构。
(√)13、深度为K的完全二叉树至少有2K-1个结点。
(√ )14、具有n个结点的满二叉树,其叶结点的个数为(n+1)/2。
(√ )15、前序和中序遍历用线索树方式存储的二叉树,不必使用栈。
(╳ )16、哈夫曼树是带权路径长度最短的树,路径上权值较大的点离根较远。
(√)17、在二叉树结点的先序序列和后序序列中,所有叶子结点的先后顺序完全相同。
(√)18、二叉树的遍历操作实际上是将非线性结构线性化的过程(√)19、树的先根遍历序列与其所转化的二叉树的先序遍历序列相同。
(╳)20、树的后根遍历序列与其所转化的二叉树的后序遍历序列相同。
二、填空1.由3个结点所构成的二叉树有 5 种形态。
2. 线索二叉树的左线索指向其_前驱_____,右线索指向其__后继____。
3.一棵具有257个结点的完全二叉树,它的深度为 9 。
4、如某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_69_____。
5. 设一棵完全二叉树具有1000个结点,则此完全二叉树有 500 个叶子结点,有 499 个度为2的结点,有 1 个结点只有非空左子树,有 0 个结点只有非空右子树。
答:最快方法:用叶子数=[n/2]=500 ,n2=n0-1=499。
另外,最后一结点为2i属于左叶子,右叶子是空的,所以有1个非空左子树。
完全二叉树的特点决定不可能有左空右不空的情况,所以非空右子树数=0.6. 一棵含有n个结点的k叉树,可能达到的最大深度为n,最小深度为 2 。
7. 若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是 F E G H D C B 。
8. 在二叉树中,指针p所指结点为叶子结点的条件是_ p->lchild==null && p->rchlid==null 。
三、选择题1.某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,则其左子树中结点数目为(C)A)3 B)2 C)4 D)52.二叉树是非线性数据结构,所以( C )。
A、它不能用顺序存储结构存储; B、它不能用链式存储结构存储; C、顺序存储结构和链式存储结构都能存储; D、顺序存储结构和链式存储结构都不能使用3.具有n(n>0)个结点的完全二叉树的深度为( C )。
(A) ⎡log2(n)⎤ (B) ⎣ log2(n)⎦ (C) ⎣ log2(n) ⎦+1 (D) ⎡log2(n)+1⎤4.把一棵树转换为二叉树后,这棵二叉树的形态是( A )。
(A)唯一的(B)有多种(C)有多种,但根结点都没有左孩子(D)有多种,但根结点都没有右孩子5.线索二叉树是一种( C )结构。
A.逻辑 B.逻辑和存储 C.物理 D.线性6、将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为( A)A、98B、99C、50D、487、设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是(D)A)M1 B)M1+M2 C)M3 D)M2+M38、将一棵有100个结点的完全二叉树从根开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号最大的非叶结点的编号为(C)A、48B、49C、50D、519、引入二叉线索树的目的是( A )A、加快查找结点的前驱或后继的速度B、为了能在二叉树中方便的进行插入与删除C、为了能方便的找到双亲D、使二叉树的遍历结果唯一10.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )A.9 B.11 C.15 D.不确定11.一棵树深度为K的完全二叉树至少有( C )个结点A.2k–1 B. 2k-1–1 C. 2k-1 D. 2k12.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( B )A.CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG13. 有关二叉树下列说法正确的是( B )A.二叉树的度为2 B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为214. 一个具有1025个结点的二叉树的高h为( C )A.11 B.10 C.11至1025之间 D.10至1024之间15.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A.2h B.2h-1 C.2h+1 D.h+116.对于有n 个结点的二叉树, 其高度为(D )A.nlog2n B.log2n C. log2n+1 D.不确定17. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的先序遍历是( D )。
A.acbed B.decab C.deabc D.cedba18.若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( C )遍历方法最合适。
A.前序 B.中序C.后序 D.按层次19.在下列存储形式中,哪一个不是树的存储形式?( D )A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示法20.在下列关于二叉树的叙述中,正确的是( D )①只有一个结点的二叉树度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③ B.②③④ C.②④ D.①④21.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为( C )A.X的双亲B.X的右子树中最左的结点C.X的左子树中最右结点D.X的左子树中最右叶结点22.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( B )A.都不相同B.完全相同 C.先序和中序相同,而与后序不同D.中序和后序相同,而与先序不同23.在线索化二叉树中,t所指结点没有右子树的充要条件是(A )。
A、t->Rtag==1B、t->Rchild==NULLC、t->Rtag==1且t->Rchild==NULLD、以上都不对24、设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为(B)。
A.2h B.2h-1C.2h+1 D.h+125、如右图所示二叉树的中序遍历序列是(B)。
A.abcdgef B.dfebagcC.dbaefcg D.defbagc26、设a和b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是(D)。
A.a是b的左孩子B.b是a的右孩子C.a是b左子树上结点或b是a右子树上结点D.以上三项均可27、假定在一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为(C)个。
A. 45 B.15 C.16 D.3128、树的基本遍历策略可分为先根遍历和后根遍历;二叉树的遍历策略分为先序、中序和后序遍历。
这里把由树转化得到的二叉树叫做这棵树对应的二叉树。
以下结论(A)是正确的。
A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同D.以上都不对29、如下图所示的4棵二叉树,(C)不是完全二叉树。
30、设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(B)个空指针域。
A.2m-1 B.2m C.2m+1 D.4m31、二叉树的第k层的结点数最多为( D )A.2k-1 B.2K+1 C.2K-1 D.2K-132、设某棵二叉树中有2000个结点,则该二叉树的最小高度为( C )。
A.9 B.10 C.11 D.1233、一棵有n个结点的树,在把它转换成对应的二叉树后,该二叉树根结点的左子树上共有( B )个结点。
A.n-2 B.n-1 C.n+1 D.n+234、对于一棵深度为4的三叉树,最多有( C )个结点。
A.30 B.36 C.40 D.5435、设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(B )。
(A) 3 (B) 4 (C) 5 (D) 1四、简答题1.给定二叉树的两种遍历序列,分别是:前序遍历序列:D,A,C,E,B,H,F,G,I;中序遍历序列:D,C,B,E,H,A,G,I,F,试画出二叉树B。
解:方法是:由前序先确定root,由中序可确定root的左、右子树。
然后由其左子树的元素集合和右子树的集合对应前序遍历序列中的元素集合,可继续确定root的左右孩子。
将他们分别作为新的root,不断递归,则所有元素都将被唯一确定,问题得解。
2、已知一棵二叉树,其中序序列DBCAFGE,后序序列DCBGFEA,构造该二叉树。
解:3、给定权值{8,12,4,5,26,16,9},构造一棵带权路径长度最短的二叉树,并计算其带权路径长度。
解:或:WPL=8×3+4×4+5×4+16×2+9×3+12×3+26×2 =207[注]:哈夫曼树的左右子树可以互换。
4. 把如图所示的树转化成二叉树。
答:注意全部兄弟之间都要连线(包括度为2的兄弟),并注意原有连线结点一律归入左子树,新添连线结点一律归入右子树。
A B E C K F H D L G IM J5、画出和下列二叉树相应的森林。
答:注意根右边的子树肯定是森林,而孩子结点的右子树均为兄弟。
6、假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。