資料結構作業 嚴蔚敏 5 2 3

2022-09-11 02:24:14 字數 943 閱讀 7106

假設用於通訊的電文僅由8個字母組成,字母在電文**現的頻率分別為0.07,0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10。

1)試為這8個字母設定哈夫曼編碼

2)試設計另一種由二進位制表示的等長編碼方案

3)對於上述例項,比較兩種方案的優缺點。

1)可以將頻率放大100倍,以方便計算,不影響哈夫曼樹的構造。

w=,根據哈夫曼樹的構造規則得出以下的哈夫曼樹:

2)哈夫曼編碼和定長編碼如下表所示:

字母編號

出現頻率

哈夫曼編碼

等長編碼

10.07

1010

0002

0.19

00001

30.02

10000

0104

0.06

1001

0115

0.32

11100

60.03

10001

1017

0.21

01110

80.10

1011

1113)對於上述的兩種方案。定長編碼明顯比哈夫曼編碼更加簡單。但是,哈夫曼編碼是最優字首編碼。對於n個字元的資料檔案來說,分別以它們的出現次數為權值構造哈夫曼樹,則該樹對應的哈夫曼編碼對檔案進行編碼,能夠使得該檔案壓縮過後對應的二進位制檔案的長度最短。

哈夫曼編碼對應二叉樹的wpl為:

wpl=2*(0.19+0.32+0.21)+4*(0.07+0.06+0.10)+5*(0.02+0.03)=2.61

等長編碼對應二叉樹的wpl為:

wpl=3*(0.19+0.32+0.21+0.07+0.06+0.10+0.02+0.03)=3

資料結構 嚴蔚敏

最近一直想找一本純資料結構的書來學習,找來找去都沒有找到一本合適的書籍,相比之下國內的書籍之中,嚴蔚敏和吳偉民的還算是經典版了,很多國內其他資料結構教材都參考這本書的。但缺點是很多都是偽 對程式設計初學者來說有一些難度,甚至有些考研的同學來看這本書有很多還看不懂,並且裡面也有些容易迷惑人的地方。出於...

資料結構(嚴蔚敏)

說起為什麼重新拿起這本書,著實非常慚愧。是因為面試的時候,第乙個面試官面試完專案之後。第二面試官說我們就當聊聊天,考考資料結構,演算法就好了。結果以乙個問題就把我難住了,這個問題是 雜湊表是什麼?所以我打算花兩天的時間重新把這本書看一遍,並做下筆記,這次我一定會記住。目前,計算機已深入到社會生活的各...

嚴蔚敏資料結構習題3 17

3.17 試寫乙個演算法,識別一次讀入的乙個以 為結束符的字串行是否為形如 序列1 序列2 模式的字串行。其中序列1和序列2中都不含字元 且序列2是序列1的逆序列。例如,a b b a 是屬該模式的字串行,而 1 3 3 1 則不是。include include define stack init...