版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、0數(shù)據(jù)結構課程設計數(shù)據(jù)結構課程設計題目:哈夫曼編碼譯碼題目:哈夫曼編碼譯碼姓名:姓名:專業(yè):通信工程專業(yè):通信工程學號:學號:指導教師:吳澤暉指導教師:吳澤暉2哈夫曼哈夫曼編碼譯碼編碼譯碼一、一、需求分析需求分析在當今信息爆炸時代,如何采用有效的數(shù)據(jù)壓縮技術節(jié)省數(shù)據(jù)文件的存儲空間和計算機網(wǎng)絡的傳送時間已越來越引起人們的重視,赫夫曼編碼正是一種應用廣泛且非常有效的數(shù)據(jù)壓縮技術。哈夫曼編碼是一種編碼方式,以哈夫曼樹—即最優(yōu)二叉樹,帶權路徑長
2、度最小的二叉樹,經(jīng)常應用于數(shù)據(jù)壓縮。哈弗曼編碼使用一張?zhí)厥獾木幋a表將源字符(例如某文件中的一個符號)進行編碼。這張編碼表的特殊之處在于,它是根據(jù)每一個源字符出現(xiàn)的估算概率而建立起來的(出現(xiàn)概率高的字符使用較短的編碼,反之出現(xiàn)概率低的則使用較長的編碼,這便使編碼之后的字符串的平均期望長度降低,從而達到無損壓縮數(shù)據(jù)的目的)。赫夫曼編碼的應用很廣泛,利用赫夫曼樹求得的用于通信的二進制編碼稱為赫夫曼編碼。樹中從根到每個葉子都有一條路徑,對路徑上
3、的各分支約定:指向左子樹的分支表示“0”碼,指向右子樹的分支表示“1”碼,取每條路徑上的“0”或“1”的序列作為和各個葉子對應的字符的編碼,這就是赫夫曼編碼。哈弗曼譯碼輸入字符串可以把它編譯成二進制代碼,輸入二進制代碼時可以編譯成字符串。二、設計要求設計要求對輸入的一串電文字符實現(xiàn)赫夫曼編碼,再對赫夫曼編碼生成的代碼串進行譯碼,輸出電文字符串。通常我們把數(shù)據(jù)壓縮的過程稱為編碼,解壓縮的過程稱為解碼。電報通信是傳遞文字的二進制碼形式的字符
4、串。但在信息傳遞時,總希望總長度能盡可能短,即采用最短碼。假設每種字符在電文中出現(xiàn)的次數(shù)為Wi,編碼長度為Li,電文中有n種字符,則電文編碼總長度為∑WiLi。若將此對應到二叉樹上,Wi為葉結點的權,Li為根結點到葉結點的路徑長度。那么,∑WiLi恰好為二叉樹上帶權路徑長度。因此,設計電文總長最短的二進制前綴編碼,就是以n種字符出現(xiàn)的頻率作權,構造一棵赫夫曼樹,此構造過程稱為赫夫曼編碼。設計實現(xiàn)的功能:(1)赫夫曼樹的建立;(2)赫夫曼
5、編碼的生成;(3)編碼文件的譯碼。三、三、概要設計概要設計哈夫曼編譯碼器的主要功能是先建立哈夫曼樹,然后利用建好的哈夫曼樹生成哈夫曼編碼后進行譯碼。在數(shù)據(jù)通信中,經(jīng)常需要將傳送的文字轉換成由二進制字符0、1組成的二進制串,稱之為編碼。構造一棵哈夫曼樹,規(guī)定哈夫曼樹中的左分之代表0,右分支代表1,則從根節(jié)點到每個葉子節(jié)點所經(jīng)過的路徑分支組成的0和1的序列便為該節(jié)點對應字符的編碼,稱之為哈夫曼編碼。最簡單的二進制編碼方式是等長編碼。若采用不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈夫曼編碼譯碼數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計--電文編碼譯碼(哈夫曼編碼)
- 數(shù)據(jù)結構課程設計電文編碼譯碼(哈夫曼編碼)
- 數(shù)據(jù)結構課程設計-哈夫曼編碼譯碼器
- 數(shù)據(jù)結構課程設計--哈夫曼編碼和譯碼報告
- 數(shù)據(jù)結構課程設計---哈夫曼編碼
- 數(shù)據(jù)結構課程設計----哈夫曼編碼
- 數(shù)據(jù)結構課程設計哈夫曼編碼
- 數(shù)據(jù)結構課程設計--哈夫曼編碼
- 數(shù)據(jù)結構課程設計---哈夫曼編碼
- 數(shù)據(jù)結構課程設計哈夫曼編碼
- 數(shù)據(jù)結構課程設計---哈弗曼編碼譯碼
- 數(shù)據(jù)結構 課程設計之哈夫曼編碼
- 數(shù)據(jù)結構課程設計---哈夫曼編碼器
- 數(shù)據(jù)結構課程設計---哈夫曼編碼器
- 數(shù)據(jù)結構哈夫曼編碼譯碼器課程設計報告(有源程序)
- 課程設計--哈夫曼編碼與譯碼
- 數(shù)據(jù)結構課程設計報告---哈夫曼編碼器
- 數(shù)據(jù)結構課程設計報告----哈夫曼
- 哈夫曼樹_數(shù)據(jù)結構課程設計
評論
0/150
提交評論