数据结构 二叉树练习题答案

合集下载

数据结构习题第六章 树和二叉树答案

数据结构习题第六章  树和二叉树答案

第六章树和二叉树注:参考答案只能作为参考,也是有错的,自己要学会辨别。

一、单项选择题1.A2.D3.A4.C5.B6.D7.E8. D9.C10.B11. C12.A13.D14.B15.C16.B17.D18.B19. D20.C二、判断题(在各题后填写“√”或“×”)1. 完全二叉树一定存在度为1的结点。

×2. 对于有N个结点的二叉树,其高度为log2n。

×3. 二叉树的遍历只是为了在应用中找到一种线性次序。

√4. 一棵一般树的结点的前序遍历和后序遍历分别与它相应二叉树的结点前序遍历和后序遍历是一致的。

×5. 用一维数组存储二叉树时,总是以前序遍历顺序存储结点。

×6.中序遍历一棵二叉排序树的结点就可得到排好序的结点序列√7.完全二叉树中,若一个结点没有左孩子,则它必是树叶。

√8. 二叉树只能用二叉链表表示。

×9. 给定一棵树,可以找到唯一的一棵二叉树与之对应。

√10. 用链表(llink-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n-1个空指针。

×11.树形结构中元素之间存在一个对多个的关系。

√12.将一棵树转成二叉树,根结点没有左子树。

×13.度为二的树就是二叉树。

×14.二叉树中序线索化后,不存在空指针域。

×15.霍夫曼树的结点个数不能是偶数。

√16.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。

√三、填空题1.p->lchild==null && p->rchlid==null2.(1)2k-1 (2)2k-13.644. 2n n-1 n+15.先序遍历后序遍历中序遍历6..(1)2k-2+1(第k层1个结点,总结点个数是2H-1,其双亲是2H-1/2=2k-2)(2) ⎣log2i⎦+1 7.48.任何结点至多只有右子女的二叉树。

数据结构二叉树习题含答案

数据结构二叉树习题含答案

第6章树与二叉树1.选择题(1)把一棵树转换为二叉树后,这棵二叉树得形态就是().A。

唯一得B.有多种C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子(2)由3个结点可以构造出多少种不同得二叉树?()A。

2B.3 C。

4D。

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)A。

m k-1 B。

mk-1 C.m h-1 D。

m h—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得前驱为( )。

A.X得双亲 B。

数据结构(树和二叉树)练习题与答案2

数据结构(树和二叉树)练习题与答案2

1、一颗二叉树的括号表示为“1(2(4,5(6,7)),3)”)。

设N代表二叉树的根,L代表根节点的左子树,R代表根节点的右子树。

若遍历后的节点序列为3,1,7,5,6,2,4,则其遍历方式是()。

A.NRLB.RLNC.LRND.RNL正确答案:D2、若二叉树(每个节点值为单个字符)的中序遍历序列是abcdef,且c为根节点,则()。

A.二叉树有两个度为0的节点B.二叉树的高度为5C.节点c有两个孩子D.以上都不对正确答案:C解析: C、从中序序列看出,节点c的左右子树均不空。

3、若知道一棵二叉树的(),便可以唯一确定该二叉树。

A.中序序列B.先序和后序序列C.中序和后序序列D.先序序列正确答案:C4、一棵二叉树的先序遍历序列为ABCDEFG,它的中序遍历序列可能是()。

A.ADCFEGB.ABCDEFGC.DACEFBGD.CABDEFG正确答案:B解析: B、当一棵二叉树所有节点的左子树为空时,先序遍历序列和中序遍历序列相同。

先序序列和中序序列可以确定一棵二叉树,这里由选项A、C和D的中序序列无法确定一棵二叉树。

5、一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为()A.FEDCBAB.CBEFDAC.CBEDFAD.不确定正确答案:B6、某棵二叉树中,X节点有左孩子Y节点,则在其先序遍历中()。

A.访问Y节点后,接着遍历Y节点的左子树,然后访问X节点B.访问X节点后,接着遍历Y节点的左子树,然后访问Y节点C.访问Y节点后立即访问X节点D.访问X节点后立即访问Y节点正确答案:D解析: D、其先序遍历序列为…XY…。

7、关于二叉树(含2个以上的节点)的先序遍历序列中,以下正确的是()。

A.先序遍历序列的最后一个节点是根节点B.先序遍历序列的最后一个节点一定是叶子节点C.以上都不对D.先序遍历序列的第一个节点一定是叶子节点正确答案:B解析: B、先序遍历过程是:NLR,最后访问的节点的L、R均为空,所以为叶子节点。

数据结构 第六章 树和二叉树作业及答案

数据结构 第六章 树和二叉树作业及答案

第六章树和二叉树作业一、选择题(每题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. 树的路径长度:是从树根到每个结点的路径长度之和。

对结点数相同的树来说,路径长度最短的是 完全 二叉树。

数据结构(树和二叉树)练习题与答案1

数据结构(树和二叉树)练习题与答案1

1、树最适合用来表示()。

A.元素之间无联系的数据B.元素之间具有层次关系的数据C.无序数据元素D.有序数据元素正确答案:B2、现有一“遗传”关系,设x是y的父亲,则x可以把他的属性遗传给y。

表示该遗传关系最适合的数据结构为()。

A.线性表B.树C.数组D.图正确答案:B3、一棵节点个数为n、高度为h的m(m≥3)次树中,其分支数是()。

A.n+hB.h-1C.n-1D.nh正确答案:C4、若一棵3次树中有2个度为3的节点,1个度为2的节点,2个度为1的节点,该树一共有()个节点。

A.11B.5C.8D.10正确答案:A解析: A、对于该3次树,其中有n3=2,n2=1,n1=2,总分支数=总度数=n-1,总度数=1×n1+2×n2+3×n3=10,则n=总度数+1=11。

5、设树T的度为4,其中度为1、2、3、4的节点个数分别为4、2、1、1,则T中的叶子节点个数是()。

A.6B.8C.7D.5正确答案:B解析: B、这里n1=4,n2=2,n3=1,n4=1,度之和=n-1=n1+2n2+3n3+4n4=15,所以n=16,则n0=n-n1-n2-n3-n4=16-8=8。

6、有一棵三次树,其中n3=2,n2=1,n0=6,则该树的节点个数为()。

A.9B.12C.大于等于9的任意整数D.10正确答案:C解析: C、n=n0+n1+n2+n3=6+n1+1+2=9+n1。

7、假设每个节点值为单个字符,而一棵树的后根遍历序列为ABCDEFGHIJ,则其根节点值是()。

A.JB.BC.以上都不对D.A正确答案:A8、一棵度为5、节点个数为n的树采用孩子链存储结构时,其中空指针域的个数是()。

A.4nB.4n-1C.4n+1D.5n正确答案:C解析: C、总指针数=5n,非空总指针数=分支数=n-1,空指针域的个数=5n-(n-1)=4n+1。

9、有一棵三次树,其中n3=2,n2=2,n1=1,该树采用孩子兄弟链存储结构时,则总的指针域数为()。

数据结构(树与二叉树)习题与答案

数据结构(树与二叉树)习题与答案

一、单选题1、已知一算术表达式的中缀形式为 A-B/C+D*E,前缀形式为+-A/BC*DE,其后缀形式为( )。

A.ABC/-DE*+B.AB/C-D*E+C. A-BC/DE*+D. ABCDE/-*+正确答案:A2、有关二叉树下列说法正确的是()。

A.二叉树中任何一个结点的度都为2B.一棵二叉树的度可以小于2C.二叉树中每个结点的度都为2D.二叉树中至少有一个结点的度为2正确答案:B3、在一棵高度为k的满二叉树中,结点总数为()。

A.2k-1B. 2k-1C. 2k-1+1D.2k正确答案:B4、某二叉树中有60个叶子结点,则该二叉树中度为2的结点个数为()。

A.不确定B.60C.59D.61正确答案:C解析:任意二叉树中,n0=n2+15、高度为7的完全二叉树,最少有()个结点。

A.127B.128C.63D.64正确答案:D解析:前6层都是满的,最后一层(第7层)近1个结点。

可保证题目条件。

6、高度为7的二叉树,最少有()个结点。

A.7B.127C.13D.64正确答案:A解析:每层只有1个结点。

共7个即可构成一个高度为7的二叉树。

7、对任意一棵有n个结点的树,这n个结点的度之和为( )。

A.n-1B.2*nC.n+2D.n正确答案:A解析:所有结点的度之和为分支个数,分支个数即为结点个数-18、在下列存储形式中,()不是树的存储形式。

A.双亲表示法B.孩子-兄弟表示法C.孩子链表表示法D.顺序存储表示法正确答案:D9、对二叉树中的结点进行编号,要求根结点的编号最小,左孩子结点编号比右孩子结点编号小。

则应该采用()遍历方法对其进行编号。

A.层次B.先序C.后序D.中序正确答案:B10、某二叉树中有60个叶子结点,则该二叉树中度为2的结点个数为()。

A. 59B.61C.60D.不一定正确答案:A11、树的后根遍历,相当于对应二叉树的()遍历。

A.中序B.后序C.层次D.先序正确答案:A二、判断题1、完全二叉树一定存在度为1的结点。

数据结构二叉树习题含答案

数据结构二叉树习题含答案

第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)A.m k-1 B.m k-1 C.m h-1 D.m h-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的前驱为()。

A.X的双亲 B.X的右子树中最左的结点C.X的左子树中最右结点 D.X的左子树中最右叶结点(13)引入二叉线索树的目的是()。

数据结构树和二叉树习题及答案

数据结构树和二叉树习题及答案

习题六树和二叉树一、单项选择题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,则后序遍历的结果为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构第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。

(注:用⎣ log2(n) ⎦+1= ⎣ 8.xx ⎦+1=9
证明:根据性质2,深度为k的二叉树至多有2k-1个结点。

最小的一棵完全二叉树的结点数:(2k-1 -1)+1=2k-1
最大的一棵完全二叉树(满二叉树)的结点数:(2k -1)
则:2k-1<=n<2k ,取对数:k-1<=log2n<k ,因为k是整数,所以:
k=⎣ log2(n) ⎦+1
4.一棵完全二叉树有700个结点,则共有350 个叶子结点。

答:最快方法:用叶子数=[n/2 ]=350
5. 设一棵完全二叉树具有1000个结点,则此完全二叉树有500个叶子结点,有499个度为2的结点,有1个结点只有非空左子树,有0个结点只有非空右子树。

答:最快方法:用叶子数=[n/2]=500 ,n2=n0-1=499。

另外,最后一结点为2i属于左叶子,右叶子是空的,所以有1个非空左子树。

完全二叉树的特点决定不可能有左空右不空的情况,所以非空右子树数=0.
6. 一棵含有n个结点的k叉树,可能达到的最大深度为n,最小深度为2。

答:当k=1(单叉树)时应该最深,深度=n(层);当k=n-1(n-1
叉树)时应该最浅,深度=2(层),但不包括n=0或1时的特例情况。

7. 二叉树的基本组成部分是:根(N )、左子树(L )和右子树(R )。

因而二叉树的遍历次序有六种。

最常用的是三种:前序法(即按D L R 次序),后序法(即按 L R D 次序)和中序法(也称对称序
法,即按L D R 次序)。

这三种方法相互之
间有关联。

若已知一棵二叉树的前序序列
是BEFCGDH ,中序序列是FEBGCHD ,则它的后序序列必是 F E G H D C B 。

解:法1:先由已知条件画图,再后序遍历得到结果;
法2:不画图也能快速得出后序序列,只要找到根的位置特征。

由前序先确定root ,由中序先确定左子树。

例如,前序遍历BEFCGDH 中,根结点在最前面,是B ;则后序遍历中B 一定在最后面。

法3:递归计算。

如B 在前序序列中第一,中序中在中间(可知左右子树上有哪些元素),则在后序中必为最后。

如法对B 的左右子树同样处理,则问题得解。

8. 用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman )树的带权路径长度是 33 。

解:先构造哈夫曼树,得到各叶子的路径长度之后便可求出
WPL=(4+5+3)×2+(1+2)×3=33
(15)
(9) (6)
4 5 3 (3)
1 2
三、单项选择题
( C )1.不含任何结点的空树。

(A)是一棵树; (B)是一棵二叉树;
(C)是一棵树也是一棵二叉树;
(D)既不是树也不是二叉树
答:以前的标答是B,因为那时树的定义是n≥1
( C )2.二叉树是非线性数据结构,所以。

(A)它不能用顺序存储结构存储;
(B)它不能用链式存储结构存储;
(C)顺序存储结构和链式存储结构都能存储;
(D)顺序存储结构和链式存储结构都不能使用
( C )3. 具有n(n>0)个结点的完全二叉树的深度
为。

(A) ⎡log2(n)⎤(B) ⎣ log2(n)⎦
(C) ⎣ log2(n) ⎦+1 (D) ⎡log2(n)+1⎤
注1:⎡x ⎤表示不小于x的最小整数;⎣ x⎦表示不大于x的最大整数,它们与[ ]含义不同!(四舍五入)
注2:选(A)是错误的。

例如当n为2的整数幂时就会少算一层。

⎡log2(n+1)⎤是正确的。

( A )4.把一棵树转换为二叉树后,这棵二叉树的形态是。

(A)唯一的(B)有多种
(C)有多种,但根结点都没有左孩子
(D)有多种,但根结点都没有右孩子
四、简答题(每小题4分,共20分)
1.一棵度为2的树与一棵二叉树有何区别?
答:度为2的树从形式上看与二叉树很相似,但它的子树是无序的,而二叉树是有序的。

即,在一般树中若某结点只有一个孩子,就无需区分其左右次序,而在二叉树中即使是一个孩子也有左右之分。

2.给定二叉树的两种遍历序列,分别是:
前序遍历序列:D,A,C,E,B,H,F,G,I;
中序遍历序列:D,C,B,E,H,A,G,I,F,
试画出二叉树B,并简述由任意二叉树B的前序遍历序列和中序遍历序列求二叉树B的思想方法。

解:方法是:由前序先确定root,由中序可确定root的左、右子树。

然后由其左子树的元素集合和右子树的集合对应前序遍历序列中的元素集合,可继续确定root的左右孩子。

将他们分别作为新的root,不断递归,则所有元素都将被唯一确定,问题得解。

D
A
C F
E G
B H
五、阅读分析题
1.试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列。

答:
DLR:A B D F J G K C E H I L M
LDR: B F J D G K A C H E L I M
LRD:J F K G D B H L M I E C A
2.把如图所示的树转化成二叉树。

答:注意全部兄弟之间都要连
线(包括度为2的兄弟),并
注意原有连线结点一律归入
左子树,新添连线结点一律归入右子树。

A
B
E C
K F H D
L G I
M J
4.画出和下列二叉树相应的森林。

答:注意根右边的子树肯定是森林,而孩子结点的右子树均为兄弟。

5.假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。

试为这8个字母设计哈夫曼编码。

使用0~7的二进制表示形式是另一种编码方案。

对于上述实例,比较两种方案的优缺点。

解:方案1;哈夫曼编码
先将概率放大100倍,以方便构造哈夫曼树。

w={7,19,2,6,32,3,21,10},按哈夫曼规则:
(100)(40)(60)19
21 32 (28)
(17)( 11)
7 10 6 (5)
2 3
方案比较:
方案1的WPL=
2(0.19+0.32+0.21)+4(0.07+0.06+0.10)+5(0.02+0.03)=1.44+0.92+ 0.25=2.61
方案2的WPL=
3(0.19+0.32+0.21+0.07+0.06+0.10+0.02+0.03)=3 结论:哈夫曼编码优于等长二进制编码。

相关文档
最新文档