免费智能真题库 > 历年试卷 > 程序员 > 2023年上半年 程序员 上午试卷 综合知识
  第8题      
  知识点:   哈夫曼树的建立和哈夫曼编码的构造
  章/节:   常用数据结构       

 
根据权值集合{0.30, 0.25, 0.25, 0.12, 0.08}构造的哈夫曼树中,每个权值对应哈夫曼树中的一个叶结点,( )。
 
 
  A.  根结点到权值0.30和0.25所表示的叶结点路径长度相同
 
  B.  根结点到权值0.25所表示的两个叶结点路径长度不同
 
  C.  根结点到权值0.30所表示的叶结点路径最长
 
  D.  根结点到所有叶结点的路径长度相同
 
 
 

  相关试题:常用数据结构          更多>  
 
  第34题    2015年上半年  
   35%
在解决计算机与打印机之间速度不匹配的问题时,通常设置一个打印数据缓冲区, 计算机将要输出的数据依次写入该缓冲区,而打印机则..
  第57题    2022年下半年  
   0%
对于下面的有向图,其邻接矩阵是一个(41)的矩阵,采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表..
  第38题    2014年下半年  
   39%
设有字符串S=’software’,其长度为3的子串数目为(38)。
   知识点讲解    
   · 哈夫曼树的建立和哈夫曼编码的构造
 
       哈夫曼树的建立和哈夫曼编码的构造
        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种字符出现的频率作为权,由此得到的二进制前缀编码为哈夫曼编码。
   题号导航      2023年上半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第8题    在手机中做本题