數據結構與算法(周測3-Huffman樹)


判斷題

1.Given a Huffman tree for N (≥2) characters, all with different weights. The weight of any non-leaf node must be no less than the weight of any node on the next lower level.

     T      F
哈夫曼樹的根節點的權重為左右子節點的權重之和。

2.Let C be an alphabet in which each character c in C has frequency c.freq. If the size of C is n, the length of the optimal prefix code for any character c is not greater than n−1.

     T      F
考慮哈夫曼樹最不平衡的情況,設根結點為第0層,從第一層開始,到倒數第二層為止,都只有一個葉子結點,倒數第一層有2個葉子結點,整個樹向一邊傾倒。參考選擇題第2題的圖。即使是這種最不平衡的情況下,觀察每一個字符的最優前綴碼,最長也才是字符集個數減1。

3.哈夫曼編碼是一種最優的前綴碼。對一個給定的字符集及其字符頻率,其哈夫曼編碼不一定是唯一的,但是每個字符的哈夫曼碼的長度一定是唯一的。

     T      F
哈夫曼字符的頻率相同時每個字符的碼長不是確定的。

選擇題

1.對N(N≥2)個權值均不相同的字符構造哈夫曼樹。下列關於該哈夫曼樹的敘述中,錯誤的是:

     A.樹中一定沒有度為1的結點
     B.樹中兩個權值最小的結點一定是兄弟結點
     C.樹中任一非葉結點的權值一定不小於下一層任一結點的權值
     D.該樹一定是一棵完全二叉樹
哈夫曼樹是不等長編碼,餓如果是完全二叉樹,那么就會是等長編碼了。

2.由分別帶權為9、2、5、7的四個葉子結點構成一棵哈夫曼樹,該樹的帶權路徑長度為:

     A.23
     B.37
     C.44
     D.46
根據圖,計算帶權路徑長度,$\color{red}{9+7\times2+2\times3+5\times3=44}$ ![](https://img2018.cnblogs.com/blog/1694164/201911/1694164-20191113194639835-2032368269.png)

3.Given a piece of text which consists of characters {a, b, c, d}, with the frequencies of occurrence being {4, 2, 5, 1}, respectively. How many bits are saved by Huffman code comparing to the equal-length code?

     A.0
     B.2
     C.4
     D.5
設左結點為0,右結點為1。根據圖得到編碼:a(10),b(110),c(0),d(111)。$\color{red}{2\times4+3\times2+5+3=22}$ 位。而假如采用等長碼,需要$\color{red}{12\times2=24}$ ![](https://img2018.cnblogs.com/blog/1694164/201911/1694164-20191113195238566-2092306049.png)

4.哈夫曼樹是n個帶權葉子結點構成的所有二叉樹中()最小的二叉樹。

     A.權值
     B.高度
     C.帶權路徑長度
     D.度

5.關於Huffamn樹,如下說法錯誤的是( )

     A.多於1個葉子結點的Huffman樹中不存在度為1的結點
     B.Huffman樹中,任意調整結點左右孩子的順序,不影響帶權路徑長度
     C.Huffamn樹的帶權路徑長度最大
     D.Huffman樹中,權值越大的葉子結點離根結點越近

6.設給定權值總數有n 個,其哈夫曼樹的結點總數為( )。

     A.2n
     B.2n+1
     C.2n-1
     D.不確定
哈夫曼樹的葉結點個數為給定權值個數,而非葉結點為為葉結點個數減1。

7.設哈夫曼樹中有199個結點,則該哈夫曼樹中有()個葉子結點。

     A.99
     B.100
     C.101
     D.102
見第6題的分析。

8.Given a set of characters { a, b, c, d, e, f } with their occurrence frequencies being { 6, 3, 8, 2, 10, 4 }, respectively. Which of the following is a correct set of the corresponding Huffman codes?

     A.00, 1011, 01, 1010, 11, 100
     B.00, 100, 110, 000, 0010, 01
     C.10, 1011, 11, 0011, 00, 010
     D.0011, 10, 11, 0010, 01, 000
關於這個問題,首先判斷是否是前綴碼,排除BC,然后計算分別采用A、D編碼的帶權路徑長度為70和86。

9.設有13個值,用它們構成一棵哈夫曼樹,則該哈夫曼樹共有結點數是( )。

     A.13
     B.12
     C.26
     D.25
見第6題的分析。

10.以下關於huffman樹說法錯誤的是( )。

     A.一般在huffman樹中,權值越大的葉子離根結點越近
     B.huffman樹中沒有度數為1的分支結點
     C.若初始森林中共有n棵二叉樹,最終求得的huffman樹共有2n-1個結點
     D.若初始森林中共有n棵二叉樹,進行2n-1次合並后才能剩下一棵最終的huffman樹
其實這個問題的D選項就是變相在問合並之后最終的哈夫曼樹有多少非葉子結點,這個可見第6題的分析。

11.設一段文本中包含4個對象{a,b,c,d},其出現次數相應為{4,2,5,1},則該段文本的哈夫曼編碼比采用等長方式的編碼節省了多少位數?

     A.0
     B.2
     C.4
     D.5
同第3題。

12.Construct a Huffman tree from four leaf nodes with weights 9, 2, 5 and 7. Then the weighted path length of this Huffman tree is:

     A.23
     B.37
     C.44
     D.46
同第2題。

13.根據使用頻率為5個字符設計的哈夫曼編碼不可能是( )。

     A.111,110,10,01,00
     B.000,001,010,011,1
     C.100,11,10,1,0
     D.001,000,01,11,10
直接看是否是前綴碼。

14.已知權值集合為{5,7,2,3,6,1,4},計算帶權路徑長度WPL()。

     A.73
     B.74
     C.75
     D.76
如圖,計算帶權最短路徑$\color{red}{2\times7+3\times5+3\times4+2\times6+3\times3+4\times2+4=74}$ ![](https://img2018.cnblogs.com/blog/1694164/201911/1694164-20191113222413075-1515252021.png)

15.對 n 個互不相同的符號進行哈夫曼編碼。若生成的哈夫曼樹共有 115 個結點,則 n 的值是:

     A.56
     B.57
     C.58
     D.60
見第6題的分析。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM