哈夫曼編碼譯碼器應(yīng)用開題報告_第1頁
哈夫曼編碼譯碼器應(yīng)用開題報告_第2頁
哈夫曼編碼譯碼器應(yīng)用開題報告_第3頁
哈夫曼編碼譯碼器應(yīng)用開題報告_第4頁
哈夫曼編碼譯碼器應(yīng)用開題報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

哈夫曼編碼(HuffmanCoding)是一種編碼方式,哈夫曼編碼是可變字長編碼(VLC)的一種。Huffman于1952年提出一種編碼方法,該方法完全依據(jù)字符出現(xiàn)概率來構(gòu)造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫作Huffman編碼。利用哈夫曼編碼進(jìn)行通信可以大大提高信道利用率,縮短信息傳輸時間,降低傳輸成本。對于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個完整的編/譯碼系統(tǒng)。哈夫曼編碼的算法#defineMAXBIT10/*定義哈夫曼編碼的最大長度*/typedefstruct{intbit[MAXBIT];intstart;}HCodeType;voidHaffmanCode(){/*生成哈夫曼編碼*/HNodeTypeHuffNode[MAXNODE];HCodeTypeHuffCode[MAXLEAF],cd;inti,j,c,p;HuffmanTree(HuffNode);/*建立哈夫曼樹*/for(i=0;i<n;i++)/*求每個葉子結(jié)點的哈夫曼編碼*/{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++)/*保存求出的每個葉結(jié)點的哈夫曼編碼和編碼的起始位*/HuffCode[i].bit[j]=cd.bit[j];HuffCode[i].start=cd.start;}for(i=0;i<n;i++)/*輸出每個葉子結(jié)點的哈夫曼編碼*/{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個字母所對應(yīng)的哈弗曼編碼;2,電腦給出一串由0、1組成的字符串;3,玩家根據(jù)編碼規(guī)則將其翻譯為英文單詞或句子4,翻譯結(jié)果正確,則進(jìn)行下一題,若翻譯錯誤,則游戲結(jié)束。2.算法分析Part1Part2Part3Part4Part51、voidhfmcoding(hfmtree&HT,hfmcode&HC,intn)初始化哈夫曼樹,處理InputHuffman(HuffmanHfm)函數(shù)得到的數(shù)據(jù),按照哈夫曼規(guī)則建立2叉樹。此函數(shù)塊調(diào)用了Select()函數(shù)。2、intmain()主函數(shù):利用已建好的哈夫曼樹(如不在內(nèi)存,則從文件hfmtree.txt中讀入)對文件中的正文進(jìn)行編碼,然后將結(jié)果存入文件codefile.txt中。

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

溫馨提示

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

最新文檔

評論

0/150

提交評論