數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman樹編碼和譯碼_第1頁(yè)
已閱讀1頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  高級(jí)語(yǔ)言課程設(shè)計(jì)</b></p><p>  2011年 06 月 29 日·北京</p><p><b>  目錄</b></p><p><b>  一設(shè)計(jì)題目</b></p><p><b>  二. 設(shè)計(jì)目的&

2、lt;/b></p><p><b>  三. 算法思想分析</b></p><p>  四. 算法描述與實(shí)現(xiàn)</p><p><b>  1)結(jié)構(gòu)定義</b></p><p><b>  2)程序算法描述:</b></p><p><b&g

3、t;  3)算法的實(shí)現(xiàn)方法</b></p><p><b>  4)結(jié)構(gòu)框架</b></p><p><b>  5)源代碼</b></p><p><b>  6)運(yùn)行結(jié)果分析</b></p><p><b>  五.結(jié)論</b></p

4、><p><b>  一.設(shè)計(jì)題目:</b></p><p>  題目2:哈夫曼編碼和譯碼</p><p><b>  問(wèn)題描述:</b></p><p>  利用哈夫曼編碼進(jìn)行信息通信可以大大提高信道利用率,縮短信息傳輸時(shí)間,降低傳輸成本。但是,這要求在發(fā)送端通過(guò)一個(gè)編碼系統(tǒng)對(duì)待傳數(shù)據(jù)預(yù)先編碼,在接收

5、端將傳來(lái)的數(shù)據(jù)進(jìn)行譯碼(復(fù)原)。對(duì)于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個(gè)完整的編/譯碼系統(tǒng)。試為這樣的信息收發(fā)站寫一個(gè)哈夫曼編/譯碼系統(tǒng)。</p><p><b>  基本要求:</b></p><p>  一個(gè)完整的系統(tǒng)應(yīng)具有以下功能:</p><p>  (1)初始化(Initialization)。從終端讀入字符集大小n,

6、以及n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹,(選做:并將它存于文件hfmTree中)。并顯示出每個(gè)字符的編碼。</p><p> ?。?)編碼(Encoding)。利用已建好的哈夫曼樹(選做:如不在內(nèi)存,則從文件htmTree中讀入),對(duì)輸入的字符串文本(選做:對(duì)文件ToBeTran中的正文)進(jìn)行編碼,(選做:然后將結(jié)果存入文件CodeFile中。)并顯示在屏幕上。</p><p>  (3)譯

7、碼(Decoding)。利用已建好的哈夫曼樹將輸入的代碼進(jìn)行譯碼(選做:將文件CodeFile中的代碼進(jìn)行譯碼,結(jié)果存入文件TextFile中。),并顯示在屏幕上。</p><p> ?。?)打印哈夫曼樹(Tree Printing)。將已在內(nèi)存中的哈夫曼樹以直觀的方式顯示在屏幕上。</p><p><b>  二. 設(shè)計(jì)目的:</b></p><

8、p>  1.了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;</p><p>  2.初步掌握軟件開發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;</p><p>  3.提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;</p><p>  4.訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),培養(yǎng)軟件工作者所應(yīng)具備的科

9、學(xué) 的工作方法和作風(fēng)。</p><p>  三. 算法思想分析:</p><p>  通過(guò)C++算法建立一個(gè)類HuffmnanTree,在此類中定義并實(shí)現(xiàn)huffman樹的建立(CreateHuffmanTree()),編碼(Encoder()),譯碼(Decoder()),輸出等一系列方法。并通過(guò)主函數(shù)調(diào)用類中的各種方法來(lái)實(shí)現(xiàn)需求。</p><p>  

10、四. 算法描述與實(shí)現(xiàn)</p><p><b>  1.算法描述:</b></p><p><b>  1)結(jié)構(gòu)定義:</b></p><p>  2) 程序算法描述:</p><p>  Class HuffmanTree中的算法及類型定義</p><p><b>

11、  3)算法的實(shí)現(xiàn)方法</b></p><p><b>  4)結(jié)構(gòu)框架:</b></p><p><b>  源代碼:</b></p><p>  6). 運(yùn)行結(jié)果分析</p><p><b>  歡迎界面:</b></p><p>  可

12、以選擇各種需求序號(hào)。</p><p>  可以選擇從鍵盤輸入或文件導(dǎo)入兩種方法。并且當(dāng)字符少于兩個(gè)時(shí),提示形成不了Huffman樹。</p><p>  當(dāng)生成一個(gè)含有abcd 字符的Huffman樹時(shí),選擇編碼時(shí),輸入字符串,編譯完成后,將譯碼放入文件CodeFile.dat中。</p><p>  當(dāng)選擇顯示譯碼時(shí),記在屏幕上打印。</p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論