哈夫曼編碼譯碼器應(yīng)用開(kāi)題報(bào)告_第1頁(yè)
哈夫曼編碼譯碼器應(yīng)用開(kāi)題報(bào)告_第2頁(yè)
哈夫曼編碼譯碼器應(yīng)用開(kāi)題報(bào)告_第3頁(yè)
哈夫曼編碼譯碼器應(yīng)用開(kāi)題報(bào)告_第4頁(yè)
哈夫曼編碼譯碼器應(yīng)用開(kāi)題報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

組員:朱開(kāi)波,任霞芳陳龍祥,朱燕目錄意義·應(yīng)用算法分析可行性分析預(yù)期結(jié)果任務(wù)分配21.1意義Part1Part2Part3Part4Part5

哈夫曼編碼(HuffmanCoding)是一種編碼方式,哈夫曼編碼是可變字長(zhǎng)編碼(VLC)的一種。Huffman于1952年提出一種編碼方法,該方法完全依據(jù)字符出現(xiàn)概率來(lái)構(gòu)造異字頭的平均長(zhǎng)度最短的碼字,有時(shí)稱之為最佳編碼,一般就叫作Huffman編碼。利用哈夫曼編碼進(jìn)行通信可以大大提高信道利用率,縮短信息傳輸時(shí)間,降低傳輸成本。對(duì)于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個(gè)完整的編/譯碼系統(tǒng)。哈夫曼編碼的算法#defineMAXBIT10/*定義哈夫曼編碼的最大長(zhǎng)度*/typedefstruct{intbit[MAXBIT];intstart;}HCodeType;voidHaffmanCode(){/*生成哈夫曼編碼*/HNodeTypeHuffNode[MAXNODE];HCodeTypeHuffCode[MAXLEAF],cd;inti,j,c,p;HuffmanTree(HuffNode);/*建立哈夫曼樹(shù)*/for(i=0;i<n;i++)/*求每個(gè)葉子結(jié)點(diǎn)的哈夫曼編碼*/{cd.start=n-1;c=i;p=HuffNode[c].parent;while(p!=0)

{if(HuffNode[p].lchild==c)cd.bit[cd.start]=0;elsecd.bit[cd.start]=1;cd.start--;c=p;p=HuffNode[c].parent;}for(j=cd.start+1;j<n;j++)/*保存求出的每個(gè)葉結(jié)點(diǎn)的哈夫曼編碼和編碼的起始位*/HuffCode[i].bit[j]=cd.bit[j];HuffCode[i].start=cd.start;}for(i=0;i<n;i++)/*輸出每個(gè)葉子結(jié)點(diǎn)的哈夫曼編碼*/{for(j=HuffCode[i].start+1;j<n;j++)printf(“%ld”,HuffCode[i].bit[j]);printf(“\n”);}}41.1應(yīng)用Part1Part2Part3Part4Part5猜字游戲:-------------------你猜我猜,你猜不猜規(guī)則:1,給出規(guī)定好的26個(gè)字母所對(duì)應(yīng)的哈弗曼編碼;2,電腦給出一串由0、1組成的字符串;3,玩家根據(jù)編碼規(guī)則將其翻譯為英文單詞或句子4,翻譯結(jié)果正確,則進(jìn)行下一題,若翻譯錯(cuò)誤,則游戲結(jié)束。2.算法分析Part1Part2Part3Part4Part51、voidhfmcoding(hfmtree&HT,hfmcode&HC,intn)初始化哈夫曼樹(shù),處理InputHuffman(HuffmanHfm)函數(shù)得到的數(shù)據(jù),按照哈夫曼規(guī)則建立2叉樹(shù)。此函數(shù)塊調(diào)用了Select()函數(shù)。2、intmain()主函數(shù):利用已建好的哈夫曼樹(shù)(如不在內(nèi)存,則從文件hfmtree.txt中讀入)對(duì)文件中的正文進(jìn)行編碼,然后將結(jié)果存入文件codefile.txt中。

3、Encoding編碼功能:對(duì)輸入字符進(jìn)行編碼4、Decoding譯碼功能:利用已建好的哈夫曼樹(shù)將文件codefile.txt中的代碼進(jìn)行譯碼,結(jié)果存入文件textfile.dat中。6算法流程圖哈夫曼編碼譯碼器初始化編碼譯碼退出73.可行性分析Part1Part2Part3Part4Part5哈弗曼編碼進(jìn)行快速遠(yuǎn)距離通信的主要手段是電報(bào),即將需傳送的文字轉(zhuǎn)換成由二進(jìn)制的字符組成的字符串。在傳送報(bào)文的時(shí)候,總是希望總長(zhǎng)盡可能的短,這就要用到哈夫曼編碼。此款app,以電報(bào)原理為基礎(chǔ),大大提升了編碼譯碼的效率3.2實(shí)施過(guò)程中可能遇到的問(wèn)題Part1Part2Part3Part4Part5其一、哈夫曼算法問(wèn)題模型復(fù)雜,參數(shù)太多,以至于難以達(dá)到優(yōu)化的目的;其二、約束條件復(fù)雜,繁多,算法收斂的時(shí)候很難滿足約束條件;其三、運(yùn)算的參數(shù)設(shè)定更多的依靠經(jīng)驗(yàn),缺乏通用性和理論指導(dǎo);其四、能否運(yùn)用簡(jiǎn)單高效的方法解決該課題;其五、課題中可能存在現(xiàn)階段解決不了的數(shù)學(xué)問(wèn)題。93.3解決方法和措施Part1Part2Part3Part4Part5第一、合理的安排和利用時(shí)間,提高自主學(xué)習(xí)的主動(dòng)性;第二、加強(qiáng)自學(xué)能力,盡可能快的熟悉相關(guān)語(yǔ)言編程;第三、提高資料搜索能力,能夠從檢索出的大量信息中篩選與提煉與課題相關(guān)內(nèi)容;第四、盡量在不影響結(jié)果的前提下簡(jiǎn)化計(jì)算,提高運(yùn)算速度;第五、對(duì)于未能解決的問(wèn)題,做出預(yù)測(cè),并提供可能解決方案。104.預(yù)期結(jié)果Part1Part2Part3Part4Part51、規(guī)定好相關(guān)英文字母的二進(jìn)制編碼。2、電腦根據(jù)程序員事先輸入的英文字串,給出哈夫曼編碼值。3、玩家根據(jù)哈夫

溫馨提示

  • 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)論