假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。 它们在电文中出现的频度分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。【MOOC答案】
目? ?錄
1、題目
2、答案and詳細題解過程
1)為這7個字母設計哈夫曼編碼;
1.1、答案
1.2、詳細題解過程
2)為這7個字母設計等長編碼,至少需要幾位二進制數?【3位】
2.1、答案
2.2、思路分析
3)哈夫曼編碼比等長編碼,使電文總長壓縮多少?【13%】
3.1、答案
3.2、題解
1、題目
假設 用?通信的電文 由 字符集{a,b,c,d,e,f,g}中的字母 構成。
它們在電文中出現的頻度分別為{0.31,? 0.16,? 0.10,? 0.08,? 0.11,? 0.20,? 0.04},
1)為這7個字母設計哈夫曼編碼;
2)為這7個字母設計等長編碼,至少需要幾位二進制數?
3)哈夫曼編碼比等長編碼,使電文總長壓縮多少?
請畫出哈夫曼樹的構造過程,完成上述三問,并拍照上傳。
【 來源 :MOOC 標準 參考 答案 】
2、答案and詳細題解過程
1)為這7個字母設計哈夫曼編碼;
1.1、答案
所有的數字都是2位小數。編碼的時候,*100?轉換為?整數,并不影響編碼。==> 方便編碼。
? ?
1.2、詳細題解過程
? ?
2)為這7個字母設計等長編碼,至少需要幾位二進制數?【3位】
2.1、答案
2.2、思路分析
赫夫曼編碼原理分析
我的想法(僅供參考):
3位二進制數字的每一位可以表示2種狀態,共有2*2*2=8種狀態。
將?a、b、c..g 轉換為?ASCII值 進行傳遞,例如:a->97->97的二進制(不足8位,前面補零)。
??
比如說:
A將字符轉換為8位的二進制數據(01串),傳給B;
B得到01串后,按8位進行分割,再將8位的二進制轉換為a、b、c等字母。
數據傳遞完畢!!!【總之,要用 最小的代價 去編碼。】
也可以不按照ASCII進行轉換,比如:按照 人為制定的標準。我就指定一套標準:規定a->000。
3)哈夫曼編碼比等長編碼,使電文總長壓縮多少?【13%】
3.1、答案
3.2、題解
原文鏈接
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。 它们在电文中出现的频度分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。【MOOC答案】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 绿豆通讯录【SQLite
- 下一篇: Android 高级编程【6个实战案例(