哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告樣本_第1頁(yè)
哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告樣本_第2頁(yè)
哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告樣本_第3頁(yè)
哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告樣本_第4頁(yè)
哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告樣本_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)號(hào)1508-第1學(xué)期數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告題目:哈夫曼編/譯碼器專業(yè) :計(jì)算機(jī)科學(xué)與技術(shù)(對(duì)口)班級(jí):13( 3)姓名:陳霞指導(dǎo)教師:彭飛成績(jī):計(jì)算機(jī)學(xué)院11月12日目錄設(shè)計(jì)內(nèi)容及要求錯(cuò)誤!未定義書(shū)簽。1.1內(nèi)容1.2要求概要設(shè)計(jì)錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。2.1抽象數(shù)據(jù)類型定義錯(cuò)誤!未定義書(shū)簽。2.2模塊劃分設(shè)計(jì)過(guò)程及代碼3.1設(shè)計(jì)過(guò)程3.2代碼設(shè)計(jì)結(jié)果與分析參考文獻(xiàn)1設(shè)計(jì)內(nèi)容及要求錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。錯(cuò)誤!未定義書(shū)簽。1.1內(nèi)容利用哈夫曼編碼進(jìn)行信息通信能夠大大提高信道利用率, 縮短信息傳輸時(shí)間

2、,降低傳輸成本??墒?,這要求在發(fā)送端經(jīng) 過(guò)一個(gè)編碼系統(tǒng)對(duì)待傳數(shù)據(jù)預(yù)先編碼,在接收端將傳來(lái)的數(shù) 據(jù)進(jìn)行譯碼(復(fù)原)。對(duì)于雙工信道(即能夠雙向傳輸信息的 信道),每端都需要一個(gè)完整的編/譯碼系統(tǒng)。試為這樣的信息 收發(fā)站寫(xiě)一個(gè)哈夫曼編/譯碼系統(tǒng)。1.2要求一個(gè)完整的系統(tǒng)應(yīng)具有以下功能:I:初始化(Initialization) o從終端讀入字符集大小n,以 及n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹(shù),并將它存于文件 hfmTree 中。E:編碼(Encoding)。利用已建好的哈夫曼樹(shù)(如不在 內(nèi)存,則從文件htmTree中讀入),對(duì)文件ToBeTran中的正文 進(jìn)行編碼,然后將結(jié)果存入文件CodeFile

3、中。D:譯碼(Decoding)。利用已建好的哈夫曼樹(shù)將文件 CodeFile中的代碼進(jìn)行譯碼,結(jié)果存入文件TextFile中。P:印代碼文件(Print)。將文件CodeFile以緊湊格式顯 示在終端上,每行50個(gè)代碼。同時(shí)將此字符形式的編碼寫(xiě)入 文件 CodePrint 中。T:印哈夫曼樹(shù)(Tree Printing)。將已在內(nèi)存中的哈夫 曼樹(shù)以直觀的方式(樹(shù)或凹入表形式)顯示在終端上,同時(shí)將 此字符形式的哈夫曼樹(shù)寫(xiě)入文件TreePrint中。頃V試數(shù)據(jù)數(shù)據(jù)一:已知某系統(tǒng)在通信聯(lián)絡(luò)中只可能出現(xiàn)8種字 符,其概率分別為 0.05,0.29,0.07,0.08,0.14,0.23,0.03,0

4、.11,以此 設(shè)計(jì)哈夫曼編碼。利用此數(shù)據(jù)對(duì)程序進(jìn)行調(diào)試。用下表給出的字符集和頻度的實(shí)際統(tǒng)計(jì)數(shù)據(jù)建立哈夫 曼樹(shù),并實(shí)現(xiàn)以下報(bào)文的編碼和譯碼:” THIS PROGRAM IS MY FAVORITE”。字符ABCDEFGHIJKLM頻度1866413223210321154757153220字符NOPQRSTUVWXYZ頻度57631514851802381811612概要設(shè)計(jì)2.1抽象數(shù)據(jù)類型定義ADT Stack數(shù)據(jù)對(duì)象:D=ai|aiElemSet,i=1,2,.,n, n0數(shù)據(jù)關(guān)系:若D為空集,則稱為空樹(shù)。若D僅為一個(gè)數(shù)據(jù)元素,則R為空集,否則R=H, H是如下的 二元關(guān)系:再D中存在唯

5、一的稱為根的數(shù)據(jù)元素root,它在關(guān)系H下無(wú)前驅(qū)。若D-root空集,則存在一個(gè)劃分D1, D2, , Dm( m0)。對(duì)應(yīng)于 D-root 的劃分,H-root, X1, , 有唯一的一個(gè)劃分 H1, H2, , Hm( m0)?;静僮鳎篒nitTree(&T)操作結(jié)果:構(gòu)造空樹(shù)T。DestroyTree(&T)初始條件:樹(shù)T已存在。操作結(jié)果:樹(shù)T被銷毀。ClearTree(&T)初始條件:樹(shù)T已存在。操作結(jié)果:將樹(shù)T清為空棧。TreeEmpty(T)初始條件:樹(shù)T已存在。操作結(jié)果:若樹(shù)T為空,則返回TRUE,否則FALSEoTreeDepth(T)初始條件:樹(shù)T已存在。操作結(jié)果:返回T的深度。Root( T)初始條件:樹(shù)T已存在。操作結(jié)果:返回樹(shù)T的根。2.2模塊劃分本程序包括三個(gè)模塊:主程序模塊void main()初始化;構(gòu)造哈夫曼樹(shù);求哈夫曼編碼;哈夫曼編碼輸出;哈夫曼模塊一一實(shí)現(xiàn)哈夫曼樹(shù)的抽象數(shù)據(jù)類型求哈夫曼編碼模塊一一實(shí)現(xiàn)求哈夫曼編碼算法的數(shù)據(jù)類型3設(shè)計(jì)過(guò)程及代碼3.1設(shè)計(jì)過(guò)程1、數(shù)據(jù)類型的定義(1)哈夫曼樹(shù)類型typedef struct構(gòu)造樹(shù)char data;/結(jié)點(diǎn)權(quán)值int weight;/重int parent;/雙 親結(jié)點(diǎn)int Ichild;/左 孩子int rchild;/右 孩子HTNode;HTNode ht30;(2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論