




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告利用Huffman 編碼對(duì)文件進(jìn)行壓縮解壓學(xué)生:XXX學(xué)號(hào):XXXXXXXX聯(lián)系: HYPERLINK mailto:XXXXXXXXXXX.com XXXXXXXXXXX.com.實(shí)驗(yàn)題目利用Huffman 編碼對(duì)文件進(jìn)行壓縮解壓.完成人(姓名、學(xué)號(hào))姓名:XXX學(xué)號(hào):XXXXXXXX.報(bào)告日期2007年12月12日星期二實(shí)習(xí)目標(biāo)口學(xué)會(huì)對(duì)樹的基本操作口學(xué)會(huì)對(duì)文件進(jìn)行操作口 利用Huffman編碼對(duì)文件壓縮解壓實(shí)習(xí)要求口實(shí)現(xiàn)最小堆模板類口利用最小堆構(gòu)建 Huffman 樹口實(shí)現(xiàn)Huffman 編碼和解碼口根據(jù)用戶從鍵盤輸入的報(bào)文文本,輸出各字符的Huffman編碼以及報(bào)文的編碼
2、+根據(jù)用戶從鍵盤輸入一串報(bào)文文本,輸出各字符的Huffman編碼+ 輸出報(bào)文的Huffman編碼及長度+根據(jù)輸入的Huffman編碼,解碼輸出口 利用Huffman編碼和解碼對(duì)二進(jìn)制文件的壓縮和解壓1.設(shè)計(jì)思路開發(fā)環(huán)境:Microsoft Visual C+ 2005設(shè)計(jì)思路:.設(shè)計(jì)Pack類儲(chǔ)存字符的權(quán)值.設(shè)計(jì)MinHeap模板類構(gòu)建最小堆. 設(shè)計(jì)ExtBinTree模板類為帶權(quán)二叉樹.設(shè)計(jì)Compress模板類以實(shí)現(xiàn)文件的壓縮解壓.主要數(shù)據(jù)結(jié)構(gòu)MinHeap.h: 頭文件,包含MinHeap模板類的類界面以及定義;HuffmanTree.h:頭文件,包含ExtBinTree模板類以及Com
3、press模板類的類的的類界面以及定義main.cpp:調(diào)用上述頭文件實(shí)現(xiàn)相關(guān)操作.主要代碼結(jié)構(gòu)主要代碼結(jié)構(gòu)為見附件中各文件的代碼注釋.主要代碼段分析主要代碼段分析,見附件中的代碼注釋基本數(shù)據(jù)源程序代碼彳f數(shù):約 800行完成該實(shí)習(xí)投入的時(shí)間:二十四小時(shí)(不包括寫實(shí)驗(yàn)報(bào)告的時(shí)間)與其他同學(xué)討論交流情況:感謝劉暢同學(xué)對(duì)程序的測(cè)試測(cè)試數(shù)據(jù)設(shè)計(jì).對(duì)屏幕輸入字符進(jìn)行 Huffman編碼.根據(jù)Huffman樹非唯一性,雖然和課件上有些許不同,但是還是正確的.輸入字符串:CASTCASTSATATATASA. 輸出編碼:A:0 C:110S:111T:10. 輸入霍夫曼編碼:0111010110110.
4、輸出譯碼:ASATCC.對(duì)”實(shí)驗(yàn)05.PPT”的壓縮操作.使用0秒(不足一秒按0秒計(jì)算),壓縮率為56.1755%.對(duì)實(shí)驗(yàn)05.ppt.hfm (即剛才生成的壓縮文件)的解壓操作.使用0秒(不足一秒按0秒計(jì)算),解壓后文件無異常.對(duì)一個(gè)18M的EXE安裝包前后進(jìn)行壓縮和解壓操作,分別用時(shí)10秒和9秒測(cè)試結(jié)果分析程序運(yùn)行的系統(tǒng)資源配置操作系統(tǒng):Microsoft Windows XP Professional SP2CPU:AMD Athlon 3600+ 2.0GRAM:1024M DDRII開發(fā)環(huán)境:Microsoft Visual C+ 2005對(duì)TXT文檔進(jìn)行壓縮和解壓后,通過WinMe
5、rge 檢驗(yàn)和原文件無差異對(duì)MP3和EXE文件壓縮和解壓后仍能正常使用對(duì)于中文名字和帶有空格的路徑均能正確無誤識(shí)別文件名只能小于16個(gè)字符(包括后綴名),否則解壓會(huì)出錯(cuò)(只預(yù)留了 16個(gè)字節(jié)用于儲(chǔ)存文件名)相對(duì)于不用文件塊讀寫的程序,效率提高了三倍以上具有動(dòng)態(tài)進(jìn)度條,可以顯示當(dāng)前壓縮和解壓的進(jìn)度百分比(當(dāng)然消耗了一些系統(tǒng)資源)出錯(cuò)處理不夠充分,特別是cin部分,如果誤輸入可能會(huì)造成死循環(huán)實(shí)習(xí)過程中遇到問題及解決過程一開始時(shí)候的程序運(yùn)行很慢,壓縮一個(gè)4M左右的文件需要七八秒,后來改用文件塊緩存字節(jié)來讀寫后,壓縮一個(gè)4M的文件只需要兩秒左右的時(shí)間.本來是只想寫一個(gè)進(jìn)度條而已的,后來發(fā)現(xiàn)如果只讀一個(gè)
6、字節(jié)就判斷一次進(jìn)度條的話會(huì)很消耗系統(tǒng) 資源后來干脆麻煩點(diǎn)用文件塊來緩存.不過至于一次緩存多少字節(jié)才能達(dá)到最好的效果還未知,現(xiàn)在設(shè)置的是一次緩存 40KB的數(shù)據(jù)本來一個(gè)一個(gè)字節(jié)讀的時(shí)候?qū)ψ詈笠粋€(gè)字節(jié)的操作基本沒費(fèi)什么勁,但是在文件塊讀寫的時(shí)候就不是那么清晰明了了,后來經(jīng)過仔細(xì)Debug,才找到錯(cuò)誤的所在.許多問題都是這樣對(duì)于中文名和帶空格路徑,用C+的fstream 就不支持,但是C中的FILE*就支持,不知道為什么.還有C+中的fstream 的成員函數(shù)read返回值很奇怪,不知道如何獲取成功讀入的項(xiàng)數(shù).改用C中的FILE*文件指針后就解決掉了由于這次實(shí)驗(yàn)的各個(gè)步驟是一環(huán)套一環(huán)的,在哪里出錯(cuò)很難找得出來,所以這次實(shí)驗(yàn)調(diào)試消耗的時(shí)間特別多.最郁悶的一次錯(cuò)誤是發(fā)現(xiàn)在取得字符 C的第N位函數(shù)中居然把0 x40寫成了 0 x30.有時(shí)候文件解壓出來不對(duì),但是又不清楚是壓縮時(shí)候錯(cuò)了 , 還是解壓時(shí)候錯(cuò)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程人工費(fèi)承包合同
- 中合同以中文為準(zhǔn)
- 個(gè)人保證反擔(dān)保合同
- 零售商業(yè)數(shù)據(jù)分析試卷
- 鎖盒安裝施工方案
- 官渡區(qū)邊坡錨桿施工方案
- 云南水性環(huán)氧地坪施工方案
- 施工垃圾清運(yùn)處理合同協(xié)議書
- 印刷廠用工勞動(dòng)合同
- 起重機(jī)司機(jī)室拆除施工方案
- 停電計(jì)劃現(xiàn)場(chǎng)勘查培訓(xùn)課件
- 變電運(yùn)維講安全
- 《合理使用零花錢》課件
- 網(wǎng)絡(luò)溝通教學(xué)課件
- 2024陸上風(fēng)電場(chǎng)改造拆除與循環(huán)利用設(shè)計(jì)導(dǎo)則
- 物權(quán)法教案完整版本
- 財(cái)務(wù)用發(fā)票分割單原始憑證 發(fā)票分割單范本
- 《建筑基坑工程監(jiān)測(cè)技術(shù)標(biāo)準(zhǔn)》(50497-2019)
- 《數(shù)字電子技術(shù)基礎(chǔ)》 題庫 各章測(cè)試題習(xí)題答案
- 2023入團(tuán)積極分子考試題庫(附答案)
- 中國慢性病報(bào)告2023
評(píng)論
0/150
提交評(píng)論