基於Huffman編碼的壓縮程序

      有同學在51CTO上學習了數據結構課程,希望我能給一個曾經做過的應用軟件,讓大家對數據結構知識練練手,這個建議非常好,學以致用嘛。因此特地翻出我曾經寫過的一個程序,把這個題目送給那些夜以繼日學習數據結構的學員。

一、要求

1. 根據信源壓縮編碼——Huffman編碼的原理,製作一個控制檯下運行的壓縮(解壓縮)程序。
2. 要求軟件有簡單易用的控制檯交互的用戶界面,軟件能夠對運行的狀態生成報告,分別是:字符頻率統計報告、編碼報告、壓縮程度信息報告、碼錶存儲空間報告。
3. 程序能夠對文檔進行壓縮,同時也能夠解壓縮。
二、環境
1. 計算機
2. windows 2000 或以上
3. VC++ 6.0
4. MSDN 6.0
三、目的
1. 掌握Huffman編碼的原理
2. 掌握VC開發環境的使用(尤其是程序調試技巧)
3. 掌握C語言編程(尤其是位運算和文件的操作)
4. 掌握數據結構的內容:最優二叉樹
5. 掌握結構化程序分析和開發的軟件工程原理
四、原理
壓縮流程:
讀取掃描文件—>統計字符頻率—>生成碼字—>保存壓縮文件
解壓縮流程:
讀取掃描壓縮文件—>提取字符頻率—>生成碼樹—>保存文件
Huffman編碼算法(略)
文件操作和位運算(略)
五、UI參考
1. 命令行界面
wKioL1N3bpfSGLQYAAETaHwmZ2M152.jpg

2. 程序壓縮文件時的報表
wKiom1N3bpDxgaLmAAWIGkyIH2s012.jpg

3. 程序解壓縮文件時的報表
wKiom1N3bqvAnGhrAAPoB2-sMM8888.jpg
六、相關課程
1. 數據結構
2. 信息論與編碼


注意:
1. QQ教學羣:301862163
2. 數據結構課程地址:http://edu.51cto.com/course/course_id-1004.html
3. 信息論與編碼課程地址:http://edu.51cto.com/course/course_id-976.html
4. 51CTO課程中心: http://edu.51cto.com/lecturer/user_id-8606427.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章