sicp每日一題[2.71]

再思即可發表於2024-11-06

Exercise 2.71

Suppose we have a Huffman tree for an alphabet of n symbols, and that the relative frequencies of the symbols are 1,2,4, . . . ,2n 1. Sketch the tree for n = 5; for n = 10. In such a tree (for general n) how many bits are required to encode the most frequent symbol? The least frequent symbol?


這道題挺簡單的,只要明白了霍夫曼編碼的邏輯,自己畫一下就可以了,這會是一種非常不平衡的樹,除了權重最低的兩個符號構成了一個完整的子樹,其他的子樹都只有一個葉子,n=5 時如下圖所示,n=10太多了就不畫了,跟這個類似。

可以看出,當有 n 個符號時,使用頻率最高的符號只需要1位就可以表示,頻率最低的則需要 n-1 位。

相關文章