赫夫曼編碼本程序?qū)崿F(xiàn)了使用赫夫曼編碼壓縮數(shù)據(jù);輸入一串字符串sourceCode——為方便理解,暫時(shí)要求字符串只包含大寫(xiě)字母和空格,如果你愿意,
很容易就可以推廣到所有的字符——計(jì)算出字符串中各個(gè)字母的權(quán)重,然后對(duì)其進(jìn)行赫夫曼編碼,輸出赫夫曼樹(shù)。
將赫夫曼樹(shù)的葉子結(jié)點(diǎn)存儲(chǔ)到有序二叉樹(shù)中,輸出原字符串經(jīng)壓縮后得到的用 0 和 1 表示的新字符串destCode;
然后利用赫夫曼樹(shù)將字符串destCode進(jìn)行譯碼,得到目標(biāo)字符串objCode,比較objCode和sourceCode,發(fā)現(xiàn)完全一樣!
編碼譯碼成功!
標(biāo)簽:
sourceCode
編碼
程序
數(shù)據(jù)
上傳時(shí)間:
2013-12-23
上傳用戶(hù):sevenbestfei