全部科目 > 程序员 >
2019年上半年 上午试卷 综合知识
第 38 题
知识点 哈夫曼树的建立和哈夫曼编码的构造  
章/节 常用数据结构  
 
 
根据权值集合{0.30, 0.25, 0.25, 0.12, 0.08}构造的哈夫曼树中,每个权值对应哈夫曼树中的一个叶结点,( )。
 
  A.  根结点到所有叶结点的路径长度相同
 
  B.  根结点到权值0.30和0.25所表示的叶结点路径长度相同
 
  C.  根结点到权值0.30所表示的叶结点路径最长
 
  D.  根结点到权值0.25所表示的两个叶结点路径长度不同
 
 




 
 
相关试题     树和二叉树 

  第40题    2011年上半年  
当二叉树的结构形如(40)时,其后序遍历序列和中序遍历序列相同。

  第32题    2016年上半年  
与算术表达式3-(2+7)/4对应的二叉树为(32)。

  第33题    2010年上半年  
已知某二叉树的先序遍历序列是ABDCE,中序遍历序列是BDAEC,则该二叉树为(33)

 
知识点讲解
· 哈夫曼树的建立和哈夫曼编码的构造
 
        哈夫曼树的建立和哈夫曼编码的构造
        1)哈夫曼树的基本概念
        .路径:由从树中一个节点到另一个节点之间的分支构成两节点之间的路径。
        .路径长度:路径上的分支数目。
        .树的路径长度:从树根到每一个节点的路径长度之和。
        .节点的带权路径长度:从节点到根之间的路径长度与节点上权的乘积WkLk
        .树的带权路径长度:树中所有带权叶子节点的路径长度之和。
        .哈夫曼树:假设有n个数值{W1W2,…,Wn},试构造一棵有n个叶子节点的二叉树,节点带权为W1,带权路径长度WPL最小的二叉树称哈夫曼树。
        下图给定的两棵二叉树,它们的带权路径长度分别为:
        
        二叉树
        (1)WPL=7*2+5*2+2*2+4*2=36。
        (2)WPL=7*1+5*2+2*3+4*3=35。
        2)哈夫曼树的构造
        哈夫曼树的构造算法如下。
        (1)根据给定的n个数值{W1,W2, …,Wn}构成n棵二叉树的集合F={T1,T2, …,Tn},其中每棵二叉树Ti中只有一个带权为Wi的根节点,左右子树均空。
        (2)在F中选取两棵根节点的数值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根节点的数值为其左右子树上根节点的数值之和。
        (3)在F中删除这两棵树,同时将新得到的二叉树加入F中。
        (4)重复步骤(2)、(3),直到F只含一棵树为止。
        3)哈夫曼编码
        哈夫曼编码的设计思想是:若要设计长短不等的编码,则必须是任一个字符的编码都不是另一个字符的编码的前缀,这种编码称作前缀编码。利用二叉树来设计二进制的前缀编码,设计长度最短的二进制前缀编码,以n种字符出现的频率作为权,由此得到的二进制前缀编码为哈夫曼编码。



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

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