全部科目 > 数据库系统工程师 >
2020年下半年 上午试卷 综合知识
第 9 题
知识点 最优二叉树  
章/节 计算机软件基础知识  
 
 
以下有关霍夫曼树的说法中,错误的是( )。
 
  A.  霍夫曼树又被称为最优二叉树
 
  B.  霍夫曼树是一种带 权路径长度最短的树
 
  C.  具有n个叶子节点的权值为W1,W2, ... Wn的最优二叉树是唯一的
 
  D.  霍夫曼树可以用来进行通信电文的编码和解码




 
 
相关试题     计算机软件基础知识 

  第24题    2012年上半年  
若某企业拥有的总资金数为15,投资4个项目P1、P2、P3、P4,各项目需要的最大资金数分别是6、8、8、10,企业资金情况如图a所示。P1新申请2个资金,P2新申请1个资金,..

  第24题    2013年上半年  
在支持多线程的操作系统中,假设进程P创建了若干个线程,那么(24)是不能被这些线程共享的。

  第25题    2009年上半年  
关于程序语言的叙述,错误的是(25)。

 
知识点讲解
· 最优二叉树
 
        最优二叉树
        最优二叉树又称为哈夫曼树,是一类带权路径长度最短的树。
        从树中一个结点到另一个结点之间的通路称为结点间的路径,该通路上分支数目称为路径长度。树的路径长度是从树根到每一个叶子之间的路径长度之和。结点的带权路径长度为从该结点到树根之间的路径长度与该结点权的乘积。
        树的带权路径长度为树中所有叶子结点的带权路径长度之和,记为:
        
        其中,n为带权叶子结点数目,wk为叶子结点的权值,lk为叶子结点到根结点的路径长度。
        最优二叉树是指权值为w1w2,…,wnn个叶子结点的二叉树中带权路径长度最小的二叉树。例如,在下图中所示的具有4个叶子结点的二叉树中,以下图(b)所示二叉树的带权路径长度最小。
        
        不同带权路径长度的二叉树
        构造最优二叉树的哈夫曼方法如下:
        (1)根据给定的n个权值{w1w2,…,wn}构成n棵二叉树的集合F=T1T2,…,Tn},其中每棵树Ti中只有一个带权为wi的根结点,其左右子树均空。
        (2)在F中选取两棵根结点的权值最小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根结点的权值为其左、右子树根结点的权值之和。
        (3)从F中删除这两棵树,同时将新得到的二叉树加入到F中。
        重复(2)、(3)步,直到F中只含一棵树时为止,这棵树便是最优二叉树(哈夫曼树)。
        最优二叉树的一个应用是对字符集中的字符进行编码和译码。
        对给定的字符集D={d1d2,…,dn}及权值集合W={w1w2,…,wn},构造其哈夫曼编码的方法为:以d1d2,…,dn作为叶子结点,w1w2,…,wn作为对应叶子结点的权值,构造出一棵最优二叉树,然后将树中每个结点的左分支标上0,右分支标上1,则每个叶子结点代表的字符的编码就是从根到叶子的路径上的0、1字符组成的串。
        例如,设有字符集{abcde}及对应的权值集合{0.30,0.25,0.15,0.22,0.08},按照构造最优二叉树的哈夫曼方法:先取字符ce所对应的结点构造一棵二叉树(根结点的权值为ce的权值之和),然后与d对应的结点分别作为左、右子树构造二叉树,之后选ab所对应的结点作为左、右子树构造二叉树,最后得到的最优二叉树(哈夫曼树)如下图所示。其中,字符a的编码为00,字符bcde的编码分别为01、100、11、101。译码时就从树根开始,若编码序列中当前编码为0,则进入当前结点的左子树,为1则进入右子树,到达叶子时一个字符就翻译出来了,然后再从树根开始重复上述过程,直到编码序列结束。例如,若编码序列101110000100对应的字符编码采用下图所示的树进行构造,则可翻译出字符序列"edaac"。
        
        哈夫曼树及编码示例



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有