版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p> 姓名: </p><p> 班級:12數(shù)字媒體技術(shù)二班 </p><p> 學號: </p><p> 2014 年 06 月</p><p><b> 赫夫曼編碼/譯碼器</b>
2、;</p><p><b> 實驗目的</b></p><p> 進一步掌握最優(yōu)二叉樹的含義。</p><p> 掌握最優(yōu)二叉樹的結(jié)構(gòu)特征,以及各種存儲結(jié)構(gòu)的特點及使用范圍。</p><p> 熟練掌握哈夫曼樹的建立和哈夫曼編碼方法。</p><p> 掌握用指針類型描述、訪問和處理運算
3、。</p><p><b> 實驗內(nèi)容</b></p><p> 編寫一個哈夫曼碼的編/譯碼系統(tǒng),一個完整的系統(tǒng)應具有以下功能:</p><p> 初始化。從終端讀入字符集大小n,以及n個字符和n個權(quán)值,建立哈夫曼樹,并將它存于文件hfmTree.txt中。</p><p> 編碼。利用已建好的哈夫曼樹,對文件T
4、oBeTra.txt中的正文進行編碼,然后將結(jié)果存入文件CodeFil.txt中。</p><p> 譯碼。利用已建好的哈夫曼樹將文件CodeFile.txt中的代碼進行譯碼,結(jié)果存入文件Textfile.txt中。</p><p> 打印哈夫曼樹(Treeprinting).將已在內(nèi)存中的哈夫曼樹以直觀的方式(比如樹)顯示在終端上,同時將此字符形式的哈夫曼樹寫入文件TreePrint
5、.txt 中。</p><p><b> 實驗步驟</b></p><p> 定義結(jié)點結(jié)構(gòu),定義哈夫曼樹結(jié)構(gòu);</p><p> 初始化哈夫曼樹,存儲哈夫曼樹信息;</p><p> 定義求哈夫曼編碼的函數(shù);</p><p> 定義譯哈夫曼編碼的函數(shù);</p><p&
6、gt;<b> 寫出主函數(shù)。</b></p><p><b> 測試系統(tǒng)。</b></p><p><b> 實驗內(nèi)容</b></p><p><b> 文件</b></p><p> 工程包含兩個頭文件,Huffman.h用于定義顯示選項菜單的
7、相關函數(shù),HuffmanTree.h用于定義與霍夫曼編碼相關的類;包含三個cpp文件,Huffman.cpp用于實現(xiàn)顯示選項菜單的相關函數(shù),HuffmanTree.cpp用于實現(xiàn)與霍夫曼編碼相關的類的成員函數(shù)等,HuffmanCode.cpp用于主函數(shù)的實現(xiàn)。</p><p><b> 霍夫曼編碼相關類</b></p><p> 程序中將霍夫曼樹結(jié)點與霍夫曼編碼相
8、關操作分別封裝為類</p><p> 通過對類內(nèi)部數(shù)據(jù)的賦值與相關函數(shù)的操作,可以完成霍夫曼編碼解碼等操作</p><p><b> 選項菜單等相關函數(shù)</b></p><p> Init()函數(shù)用于從外部文件中加載霍夫曼樹,因為樹人工不好整理所以我設置了讀入樹的葉子結(jié)點與權(quán)值,然后內(nèi)部編寫函數(shù)將這兩種數(shù)據(jù)整理成霍夫曼樹</p>
9、;<p> ChooseCode()函數(shù)用于執(zhí)行從終端讀取編碼串,然后根據(jù)讀取的霍夫曼樹來解碼</p><p> ChooseRecode()函數(shù)用以執(zhí)行解碼操作,對從終端或者從文件讀取的編碼串進行解碼并輸出</p><p> InputFromFile()函數(shù)用于從外部文件讀取待解碼的編碼串</p><p> OutputToFile()函數(shù)
10、可以將霍夫曼樹,解碼后的字符串輸出到外部文件中</p><p><b> 霍夫曼編碼操作</b></p><p> 編碼首先從外部初始化霍夫曼樹,即調(diào)用Init()函數(shù)從外部讀取數(shù)據(jù);</p><p> 然后選擇編碼串來源,可以從外部文件讀取,也可從終端輸入;</p><p> 最后是進行霍夫曼解碼,調(diào)用Huff
11、manRecoding()函數(shù);</p><p><b> 實驗結(jié)果</b></p><p> 首先在C盤下設置HuffmanTree.txt的初始值,第一行為葉子結(jié)點的值,第二行為權(quán)值</p><p> 然后設置code.txt的初始值,為要解碼的字符串</p><p><b> 運行程序</b
12、></p><p><b> 第一步初始化</b></p><p> 第二步從code.txt讀取編碼串</p><p><b> 第三步,解碼</b></p><p> 第四步,輸出到HuffmanCode.txt文件</p><p> 還可以選擇從終端輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設計赫夫曼編碼譯碼器
- 數(shù)據(jù)結(jié)構(gòu)課程設計報告---赫夫曼編碼
- 數(shù)據(jù)結(jié)構(gòu)課程設計 (赫夫曼編碼)
- 數(shù)據(jù)結(jié)構(gòu)課程設計-哈夫曼編碼譯碼器
- 赫夫曼編碼譯碼器
- 赫夫曼編碼器數(shù)據(jù)結(jié)構(gòu)課程設計
- 數(shù)據(jù)結(jié)構(gòu)課程設計--赫夫曼編碼系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設計---- 赫夫曼編碼系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設計--赫夫曼編碼系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設計實驗報告(赫夫曼編碼)
- 數(shù)據(jù)結(jié)構(gòu)哈夫曼編碼譯碼器課程設計報告(有源程序)
- 應用數(shù)據(jù)結(jié)構(gòu)課程設計--huffman編/譯碼器
- 赫夫曼編譯碼器數(shù)據(jù)結(jié)構(gòu)課程設計
- 赫夫曼編譯碼器的實現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程設計報告
- 課程設計-赫夫曼編譯碼器數(shù)據(jù)結(jié)構(gòu)設計
- (哈夫曼編碼譯碼器)(課程設計報告)
- 數(shù)據(jù)結(jié)構(gòu)課程設計----huffman樹編碼和譯碼
- 數(shù)據(jù)結(jié)構(gòu)課程設計---哈弗曼編碼譯碼
- 數(shù)據(jù)結(jié)構(gòu)課程設計--哈夫曼編碼和譯碼報告
- 數(shù)據(jù)結(jié)構(gòu)課程設計--電文編碼譯碼(哈夫曼編碼)
評論
0/150
提交評論