數(shù)據(jù)結(jié)構(gòu)課程設計--哈夫曼編碼的實現(xiàn).doc
數(shù)據(jù)結(jié)構(gòu)課程設計--哈夫曼編碼的實現(xiàn),摘要 針對減少通信系統(tǒng)中字符編碼所需要的二進制位長度,提出用于產(chǎn)生不定長的前綴編碼算法,所謂前綴編碼是指任一編碼都不是其他編碼的前綴。前綴編碼算法的基本事項就是對于出現(xiàn)概率較大的字符采用短編碼方式,而出現(xiàn)概率較小的字符采用長編碼方式。在網(wǎng)絡傳輸數(shù)據(jù)過程中個別數(shù)據(jù)出現(xiàn)的次數(shù)特別多,而有...


內(nèi)容介紹
此文檔由會員 逍遙少客 發(fā)布數(shù)據(jù)結(jié)構(gòu)課程設計--哈夫曼編碼的實現(xiàn)
摘要
針對減少通信系統(tǒng)中字符編碼所需要的二進制位長度,提出用于產(chǎn)生不定長的前綴編碼算法,所謂前綴編碼是指任一編碼都不是其他編碼的前綴。前綴編碼算法的基本事項就是對于出現(xiàn)概率較大的字符采用短編碼方式,而出現(xiàn)概率較小的字符采用長編碼方式。在網(wǎng)絡傳輸數(shù)據(jù)過程中個別數(shù)據(jù)出現(xiàn)的次數(shù)特別多,而有些則不怎么出現(xiàn)。如果對數(shù)據(jù)用同樣的長度定義則會造成相當大的浪費,因而需要構(gòu)建一種可根據(jù)數(shù)據(jù)出現(xiàn)頻率生成長度不同但又不會在傳輸過程中出現(xiàn)混淆的編碼。哈夫曼編碼就是能完成這項工作的一種編碼。而此次設計的哈夫曼樹編碼器,具有將輸入的字符以及權(quán)值轉(zhuǎn)換成對應哈夫曼編碼的功能。本編碼器采用C++作為軟件開發(fā)環(huán)境,采用建立哈夫曼樹來實現(xiàn)編碼。提供了數(shù)據(jù)導入并完成編碼、輸出執(zhí)行結(jié)果即哈夫曼編碼這兩個功能。
關(guān)鍵詞:函數(shù);樹;哈夫曼;編碼;文件
目 錄
1 課題描述 1
2 問題分析和任務定義 2
3 邏輯設計 3
4 詳細設計 4
5 程序編碼 6
6 程序調(diào)試與測試 10
7 結(jié)果分析 12
8 總結(jié) 14
參考文獻 15