數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-Huffman編碼_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-Huffman編碼_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-Huffman編碼_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-Huffman編碼_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-Huffman編碼_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1題目:Huffman編碼 2 . 3后利用計算機資源高效地開發(fā)非數(shù)值處理的計算機程序打下堅實的算法與數(shù)據(jù)結(jié)構(gòu)旨在分析研究計算機加工的數(shù)據(jù)對象的特數(shù)據(jù)結(jié)構(gòu)是在整個計算機科學(xué)與技術(shù)領(lǐng)域上廣泛被使用的術(shù)4學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)是為了將實際問題中所涉及的對象在計算機中表示出來并對它們進(jìn)行處理。通過課程設(shè)計可以提高學(xué)生的思維能5數(shù)據(jù)結(jié)構(gòu)作為一門學(xué)科主要研究數(shù)據(jù)的各種邏輯結(jié)構(gòu)和存儲結(jié)常,數(shù)據(jù)結(jié)構(gòu)課程主要是研究非數(shù)值計算的程序設(shè)計問題中所出現(xiàn)的學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)是為了將實際問題中所涉及的對象在計算機中表示67題目:赫夫曼編碼 ③輸出每個字符的赫夫曼編碼;析制編碼成為赫夫曼編碼。樹中從根到每個葉子都有一條路徑,對路徑上的各分支約定:指向左子樹的分支表示“0”碼,指向右子樹的8因此,設(shè)計電文總長最短的二進(jìn)制前綴編碼,就是以n種子符(1)輸入的形式和輸入值的范圍:n中字符,其出現(xiàn)的頻率(3)程序所能達(dá)到的功能:設(shè)計一顆赫夫曼樹,由此得到二進(jìn)(4)測試數(shù)據(jù): ③輸出每個字符的赫夫曼編碼;9三.概要設(shè)計(1)為了實現(xiàn)上述程序功能,需要定義單鏈表的抽象數(shù)據(jù)類型:ADTBinaryTree{dHuffmanCodingHuffmanTreeHuffmanCodeintdSelectHuffmanTreeintintint個結(jié)點OutputHuffmanCodeHuffmanTreeHuffmanCodeint編碼(2)本程序包含4個函數(shù):manCodingnSelect(nOutputHuffmanCode()四.詳細(xì)設(shè)計實現(xiàn)概要設(shè)計中定義的所有的數(shù)據(jù)類型,對每個操作給出偽碼算碼就是一種不等長的二進(jìn)制編碼,而赫夫曼樹是一種最優(yōu)二叉樹,(1)設(shè)計包含的幾個方面:編碼(1)結(jié)點類型typedefstruct{emTypeelemnedintweightnsignedintparentlchildrchildfmanTree(2)其他模塊偽碼算法dHuffmanCodingHuffmanTreeHuffmanCodeint(偽碼算法)dSelectHuffmanTreeintintint(偽碼算法)OutputHuffmanCodeHuffmanTreeHuffmanCodeint(偽碼算法){ild}}}ent{}}}五.測試分析在我自己課程設(shè)計中,就在編寫好源代碼后的調(diào)試中出現(xiàn)了不:憾的是,我們的哈夫曼編碼/譯碼通過本次數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計,我學(xué)習(xí)了很多在上課沒懂的知更鞏固了課堂中學(xué)習(xí)有關(guān)于哈夫曼編碼的知識,真正學(xué)會一種算法六.使用說明七.測試結(jié)果udeiostreamhludestdiohudestdlibhudestringh{lemTypeelemgnedintweightunsignedintparentlchildrchild;fmanTreedHuffmanCodingHuffmanTreeHuffmanCodeintvoidSelectHuffmanTreeintintintOutputHuffmanCodeHuffmanTreeHuffmanCodeint{ffmanTreeHTffmanCodeHCHuffmanCodingHTHCn;ffmanCodeHTHCnreturn1;}voidHuffmanCoding(HuffmanTree&HT,HuffmanCode&HC,int{m=2*n-1;HTnewHTNodem+1];HTi].elem=ch;HTiweightwei;HTiparent=HT[i].lchild=HT[i].rchild=0;}HTielem='0';HTiparent=HT[i].lchild=HT[i].rchild=0;}Select(HT,i-1,&s1,&s2);//查找權(quán)值較小的兩個結(jié)點HTsparent=i;HT[s2].parent=i;HTilchilds1;HT[i].rchild=s2;HT[i].weight=HT[s1].weight+HT[s2].weight;}HCnewchar*[n+1];nforcifHTiparentfcffHTf.parent)t}HC[i]=newchar[n-start];}}voidSelectHuffmanTreeHTintnintsint*s2)htHTiparent}}}voidOutputHuffmanCode(HuffmanTreeHT,Huffm

溫馨提示

  • 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

提交評論