赫夫曼編譯碼系統(tǒng)的設(shè)計與實現(xiàn)
以下是部分編碼的代碼段
2.3 赫夫曼譯碼
對壓縮后的數(shù)據(jù)文件進行解碼則必須借助于赫夫曼樹,其過程是:從decode.txt文件中讀取編碼后的二進制碼,從赫夫曼樹的根結(jié)點出發(fā),若當(dāng)前為0,則向左孩子;若為1,則向右孩子。到達某一葉子結(jié)點時,便譯出相應(yīng)的字符。循環(huán)上步,直至解碼完成。
3 設(shè)計結(jié)果
(1)利用Microsoft Visual C++6.0系統(tǒng)進行調(diào)試,輸入源程序,編譯、連接后生成赫夫曼編譯碼系統(tǒng)可執(zhí)行文件,如圖1所示。
(2)運行赫夫曼編譯碼系統(tǒng)可執(zhí)行文件,輸入表1字符和頻度,編譯碼后得到運行結(jié)果,如圖2所示。本文引用地址:http://www.ex-cimer.com/article/195043.htm
4 結(jié)束語
赫夫曼編碼是已被證明的一種有效的熵編碼方式,在諸如文本、圖像、視頻壓縮及通信、密碼等信息壓縮編碼標(biāo)準(zhǔn)中被廣泛使用。目前廣泛應(yīng)用的許多其他高效數(shù)據(jù)壓縮算法,例如算術(shù)編碼、可預(yù)測編碼也是在赫夫曼編碼的基礎(chǔ)上發(fā)展起來的,所以研究赫夫曼編碼的思想,對于深入理解數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計學(xué)科中的相關(guān)課題有益。
評論