![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/5c2984fd-efa0-4097-bc58-9d1151823d91/5c2984fd-efa0-4097-bc58-9d1151823d91pic.jpg)
![哈夫曼(huffman)編譯碼器課程設(shè)計(jì)_第1頁(yè)](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/5c2984fd-efa0-4097-bc58-9d1151823d91/5c2984fd-efa0-4097-bc58-9d1151823d911.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 工學(xué)系課程設(shè)計(jì)報(bào)告</b></p><p> 設(shè) 計(jì) 題 目:哈夫曼(huffman)編譯碼器 </p><p> 系 別: </p><p> 專 業(yè) (方 向): </p><p> 年
2、級(jí)、 班: </p><p> 學(xué) 生 姓 名: </p><p> 學(xué) 生 學(xué) 號(hào): </p><p> 指 導(dǎo) 教 師: </p><p><b> 年 月日<
3、/b></p><p><b> 目 錄</b></p><p> 哈夫曼(huffman )編譯碼器3</p><p> 一、 編譯碼器開發(fā)的背景3</p><p> 二、系統(tǒng)的分析與設(shè)計(jì)3</p><p> ?。ㄒ唬┫到y(tǒng)功能要求3</p><p&
4、gt; ?。ǘ┫到y(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)4</p><p> 三、系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)6</p><p> ?。ㄒ唬﹎ain()6</p><p><b> ?。ǘ┻\(yùn)算7</b></p><p> 1. 權(quán)值運(yùn)算quanzhi()7</p><p> 2. 印二叉樹函數(shù)huffmantree
5、( )7</p><p> 3.編譯碼運(yùn)算huffmancode()9</p><p> 4. 輸出運(yùn)算 shuchu()9</p><p><b> 四、系統(tǒng)測(cè)試10</b></p><p> (一)測(cè)試主函數(shù)10</p><p> ?。ǘy(cè)試印二叉樹函數(shù)10</p&
6、gt;<p> ?。ㄈ?測(cè)試譯碼運(yùn)算函數(shù)11</p><p><b> 五、總結(jié)12</b></p><p> 六、附件(代碼、部分圖表)13</p><p> 哈夫曼(huffman )編譯碼器</p><p> 編譯碼器開發(fā)的背景 &
7、lt;/p><p> 利用哈夫曼編碼進(jìn)行通信可以大大提高信道利用率,縮短信息傳輸時(shí)間,降低傳輸成本。但是,這要求在發(fā)送端通過(guò)一個(gè)編碼系統(tǒng)對(duì)待傳數(shù)據(jù)預(yù)先編碼,在接收端將傳來(lái)的數(shù)據(jù)進(jìn)行譯碼(復(fù)原)。對(duì)于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個(gè)完整的編/譯碼系統(tǒng)。</p><p> 二、系統(tǒng)的分析與設(shè)計(jì)</p><p><b> ?。ㄒ唬┫到y(tǒng)功能要求
8、</b></p><p> 一個(gè)完整的系統(tǒng)應(yīng)具有以下功能:</p><p> I:初始化(Initialization)。從終端讀入字符集大小n,以及n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹,并將它存于文件hfmTree中。</p><p> E:編碼(Encoding)。利用以建好的哈夫曼樹(如不在內(nèi)存,則從文件hfmTree中讀入),對(duì)文件ToBeTr
9、an中的正文進(jìn)行編碼,然后將結(jié)果存入文件CodeFile中。</p><p> D:譯碼(Decoding)。利用已建好的哈夫曼樹將文件CodeFile中的代碼進(jìn)行譯碼,結(jié)果存入文件TextFile中。</p><p> P:印代碼文件(Print)。將文件CodeFile以緊湊格式顯示在終端上,每行50個(gè)代碼。同時(shí)將此字符形式的編碼文件寫入文件CodePrin中。</p>
10、<p> T:印哈夫曼樹(Tree Printing)。將已在內(nèi)存中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示在終端上,同時(shí)將此字符形式的哈夫曼樹寫入文件TreePrint中。</p><p> ?。ǘ┫到y(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)</p><p> 通過(guò)對(duì)系統(tǒng)功能的分析,哈夫曼(huffman)編譯碼器功能如圖(1)所示。</p><p> 圖(1)哈夫
11、曼(huffman)編譯碼器功能圖</p><p> 通過(guò)上圖的功能分析,把整個(gè)系統(tǒng)分為四個(gè)模塊:</p><p> 1.初始化模塊,該模塊主要實(shí)現(xiàn):輸入二叉樹的結(jié)點(diǎn)數(shù),以及要加密的句子,建立哈夫曼樹。</p><p> 2.輸出二叉樹模塊,該運(yùn)算模塊主要實(shí)現(xiàn):將輸入的字符串中每個(gè)字符出現(xiàn)的次數(shù)當(dāng)作權(quán)值,建立二叉樹,將二叉樹的parent,weight,lch
12、ild,rchild輸出。</p><p> 3.譯碼模塊,該操作主要實(shí)現(xiàn):對(duì)編碼后的代碼進(jìn)行譯碼,然后輸出。</p><p> 4.輸出模塊,該操作主要進(jìn)行表頭的輸出。</p><p><b> 圖2 流程圖</b></p><p> 三、系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b&
13、gt; (一)main()</b></p><p> 輸出1.輸出二叉樹操作2.進(jìn)行輸出二叉樹操作3.退出編譯碼操作系統(tǒng),并讓用戶選擇所進(jìn)行的操作,對(duì)其調(diào)用。</p><p> 該模塊的具體代碼如下所示:</p><p> void main()</p><p><b> {</b></p&g
14、t;<p> int i,n,s=1; </p><p> hnodetype huffnode[maxnode];</p><p><b> while(s)</b></p><p><b> {</b></p><p><b> shuchu();</b&
15、gt;</p><p> scanf("%d",&i);</p><p><b> switch(i)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p>&
16、lt;b> {</b></p><p> haffmantree(huffnode,&n);</p><p><b> break;</b></p><p><b> }</b></p><p><b> case 2:</b></p&
17、gt;<p><b> {</b></p><p> haffmancode();</p><p><b> break;</b></p><p><b> }</b></p><p><b> case 3: </b></p
18、><p><b> s=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b><
19、;/p><p> 分析:首先輸出一個(gè)主菜單,方便用戶進(jìn)行操作,用switch語(yǔ)句調(diào)用函數(shù)使用戶對(duì)其進(jìn)行選擇要執(zhí)行的操作(1.輸出二叉樹操作,2.進(jìn)行編譯碼操作,3.退出程序)。</p><p><b> ?。ǘ┻\(yùn)算</b></p><p> 該模塊的具體代碼如下所示:</p><p> 權(quán)值運(yùn)算quanzhi()&
20、lt;/p><p> 分析:此函數(shù)用于對(duì)一串字符進(jìn)行求權(quán)值運(yùn)算,利用循環(huán)將一串字符中每個(gè)字符的個(gè)數(shù)設(shè)定為權(quán)值。</p><p> void quanzhi(int t[maxleaf],char s[maxleaf],int n)//求權(quán)值函數(shù),將句子中的字符出現(xiàn)的個(gè)數(shù)當(dāng)作權(quán)值</p><p><b> {</b></p>&l
21、t;p> int i,j,h;</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> for(j=0;j<n;j++)</p><p> if(s[i]==s[j])</p><p><b> h++;&
22、lt;/b></p><p><b> t[i]=h;</b></p><p><b> }</b></p><p><b> }</b></p><p> 印二叉樹函數(shù)huffmantree( )</p><p> void haffm
23、antree(hnodetype huffnode[maxnode],int *m)</p><p><b> {</b></p><p> int i,j,n,k;</p><p> int m1,m2,x1,x2;</p><p> char s[maxleaf],t[maxleaf];</p>
24、<p> printf("輸入葉子結(jié)點(diǎn)個(gè)數(shù):");</p><p> scanf("%d",&n);</p><p> for(i=0;i<2*n-1;i++)//數(shù)組huffnode[]初始化</p><p><b> {</b></p><p>
25、; huffnode[i].weight=0;</p><p> huffnode[i].parent=-1;</p><p> huffnode[i].lchild=-1;</p><p> huffnode[i].rchild=-1;</p><p><b> }</b></p><p&
26、gt; printf("輸入要編譯的句子的\n");</p><p> for(i=0;i<n;i++){</p><p> printf("第%d個(gè)結(jié)點(diǎn)",i+1);</p><p> scanf("%d",&huffnode[i].weight);</p><p
27、> getchar();</p><p><b> }</b></p><p> printf("印二叉樹:\n"); </p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p>
28、; quanzhi(t,s,n);</p><p> k=huffnode[i].weight;</p><p><b> }</b></p><p> for(i=0;i<n-1;i++)</p><p><b> {//構(gòu)造哈夫曼樹</b></p><p>
29、; m1=m2=maxvalue;</p><p><b> x1=x2=0;</b></p><p> for(j=0;j<n+i;j++)</p><p> {//選取最小和次小兩個(gè)權(quán)值</p><p> if(huffnode[j].parent==-1&&huffnode[j].w
30、eight<m1)</p><p><b> {</b></p><p><b> m2=m1;</b></p><p><b> x2=x1;</b></p><p> m1=huffnode[j].weight;</p><p><
31、;b> x1=j;</b></p><p><b> }</b></p><p><b> else</b></p><p> if(huffnode[j].parent==-1&&huffnode[j].weight<m2)</p><p><
32、b> {</b></p><p> m2=huffnode[j].weight;</p><p><b> x2=j;</b></p><p><b> }</b></p><p> }//將找出的兩棵子樹合并為一顆子樹</p><p> huf
33、fnode[x1].parent=n+i;</p><p> huffnode[x2].parent=n+i;</p><p> huffnode[n+i].weight=huffnode[x1].weight+huffnode[x2].weight;</p><p> huffnode[n+i].lchild=x1;</p><p>
34、 huffnode[n+i].rchild=x2;</p><p><b> }</b></p><p> for(i=0;i<2*n-1;i++)</p><p><b> {</b></p><p> printf(" %4d",k);</
35、p><p> printf(" %4d",huffnode[i].lchild);</p><p> printf(" %4d",huffnode[i].rchild);</p><p> printf(" %4d\n",huffnode[i].parent);&
36、lt;/p><p><b> }</b></p><p><b> *m=n;</b></p><p><b> }</b></p><p> 3.編譯碼運(yùn)算huffmancode()</p><p> void haffmancode()<
37、/p><p><b> {</b></p><p> hnodetype huffnode[maxnode];</p><p> hcodetype huffcode[maxleaf],cd;</p><p> int i,j,c,p,n=0;</p><p> haffmantree(hu
38、ffnode,&n);</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> cd.start=n-1;</p><p><b> c=i;</b></p><p> p=huffnode[c].p
39、arent;</p><p> while(p!=-1)</p><p><b> {</b></p><p> if(huffnode[p].lchild==c)</p><p> cd.bit[cd.start]=0;</p><p><b> else</b>
40、</p><p> cd.bit[cd.start]=1;</p><p> cd.start--;</p><p><b> c=p;</b></p><p> p=huffnode[c].parent;</p><p><b> }</b></p>
41、<p> for(j=cd.start+1;j<n;j++)</p><p> huffcode[i].bit[j]=cd.bit[j];</p><p> huffcode[i].start=cd.start;</p><p><b> }</b></p><p> for(i=0;i<
42、;n;i++)</p><p><b> {</b></p><p> printf("第%d個(gè)譯碼為:",i+1);</p><p> for(j=huffcode[i].start+1;j<n;j++)</p><p> printf("%4d",huffcode
43、[i].bit[j]);</p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b></p><p> 輸出運(yùn)算 shuchu()</p><p> void shuchu()<
44、/p><p><b> {</b></p><p> printf("********************************************************************************\n");</p><p> printf("***
45、 |** 哈夫曼樹的編譯碼 ** | ***\n");</p><p> printf("*** |** 1.輸出二叉樹操作 ** | ***\n");</p><p> printf("**
46、* |** 2.進(jìn)行編譯碼操作 ** | ***\n");</p><p> printf("*** |** 3.退出編譯碼操作系統(tǒng)** | ***\n");</p><p>
47、 printf("********************************************************************************\n");</p><p> printf("請(qǐng)選擇要進(jìn)行的操作:");</p><p><b> }</b></p><p&
48、gt;<b> 四、系統(tǒng)測(cè)試</b></p><p> ?。ㄒ唬y(cè)試主函數(shù)main()函數(shù)</p><p> 該測(cè)試主要進(jìn)行對(duì)主函數(shù)調(diào)用以及輸出的測(cè)試,測(cè)試的結(jié)果:</p><p> ?。ǘy(cè)試印二叉樹函數(shù)</p><p> 測(cè)試選擇1,選擇1操作首先輸入葉子節(jié)點(diǎn)數(shù),然后輸入要編譯的句子,分別輸入第n+1個(gè)節(jié)點(diǎn),
49、然后系統(tǒng)會(huì)將輸入字符的個(gè)數(shù)當(dāng)作權(quán)值進(jìn)行編譯輸出二叉樹,測(cè)試結(jié)果為:</p><p><b> 測(cè)試譯碼運(yùn)算函數(shù)</b></p><p> 測(cè)試選擇2,輸入要選擇的操作2,然后按要求依次輸入需要的值,系統(tǒng)會(huì)根據(jù)輸入的數(shù)據(jù)進(jìn)行譯碼操作,最后輸出譯碼。輸出結(jié)果為: </p><p><b> 測(cè)試退出函數(shù)</b>&l
50、t;/p><p> 測(cè)試選擇3進(jìn)行退出,測(cè)試結(jié)果為:</p><p><b> 五、總結(jié)</b></p><p> 系統(tǒng)功能:系統(tǒng)完成了將一段字符串進(jìn)行哈夫曼加密,用戶將自己的選擇輸入程序,然后按照程序的提示進(jìn)行輸入,系統(tǒng)將根據(jù)輸入進(jìn)行編碼、譯碼操作,然后印出編譯的二叉樹,以及每個(gè)字符的譯碼。</p><p> 不足
51、:系統(tǒng)沒有將印哈夫曼樹操作完成,系統(tǒng)沒有將字符的權(quán)值根據(jù)大小將左孩子設(shè)為最小權(quán)值,將次小權(quán)值設(shè)為右孩子,導(dǎo)致加密有許多種,哈夫曼樹也創(chuàng)建了許多種,輸出的譯碼不唯一。</p><p> 收獲:通過(guò)一學(xué)期數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí),我發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)比較難,沒有完整的自己獨(dú)立完成一個(gè)程序。但也學(xué)到了許多東西,學(xué)會(huì)了以前不會(huì)的函數(shù)調(diào)用,在編程時(shí),有許多小問題還是不能夠及時(shí)的發(fā)現(xiàn),老是被一點(diǎn)小問題卡住導(dǎo)致程序不執(zhí)行或輸出死循環(huán),一些程
52、序的指針還不太熟悉。</p><p> 通過(guò)這次程序設(shè)計(jì),我發(fā)現(xiàn)了許多自己的不足,對(duì)一些算法還不能熟練運(yùn)用,不能將所學(xué)的運(yùn)用到程序中,一些語(yǔ)句還是不太懂;同時(shí),也有一些收獲,對(duì)函數(shù)調(diào)用能夠熟練運(yùn)用,也明白了結(jié)構(gòu)體的作用,掌握了最優(yōu)二叉樹的建立和原理,對(duì)哈夫曼樹有了更深一步的了解。</p><p> 六、附件(代碼、部分圖表)</p><p><b>
53、 /*哈弗曼樹*/</b></p><p> #include <stdio.h></p><p> #define maxvalue 1000//定義最大權(quán)值</p><p> #define maxleaf 50//定義哈夫曼樹中葉子結(jié)點(diǎn)個(gè)數(shù)</p><p> #define maxnode maxleaf
54、*2-1//定義哈夫曼樹中結(jié)點(diǎn)個(gè)數(shù)整數(shù)常量maxnode</p><p> #define maxbit 100//定義哈夫曼樹的最大長(zhǎng)度整數(shù)常量</p><p> typedef struct//定義結(jié)構(gòu)體</p><p><b> {</b></p><p> int weight;</p>&
55、lt;p> int parent;</p><p> int lchild;</p><p> int rchild;</p><p> }hnodetype;</p><p> typedef struct</p><p><b> {</b></p><p
56、> int bit[maxbit];</p><p> int start;</p><p> }hcodetype;</p><p><b> //求權(quán)值函數(shù)</b></p><p> void quanzhi(int t[maxleaf],char s[maxleaf],int n)//求權(quán)值函數(shù),將
57、句子中的字符出現(xiàn)的個(gè)數(shù)當(dāng)作權(quán)值</p><p><b> {</b></p><p> int i,j,h;</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> for(j=0;j<n;j++)&l
58、t;/p><p> if(s[i]==s[j])</p><p><b> h++;</b></p><p><b> t[i]=h;</b></p><p><b> }</b></p><p><b> }</b><
59、/p><p><b> //印二叉樹函數(shù)</b></p><p> void haffmantree(hnodetype huffnode[maxnode],int *m)</p><p><b> {</b></p><p> int i,j,n,k;</p><p>
60、 int m1,m2,x1,x2;</p><p> char s[maxleaf],t[maxleaf];</p><p> printf("輸入葉子結(jié)點(diǎn)個(gè)數(shù):");</p><p> scanf("%d",&n);</p><p> for(i=0;i<2*n-1;i++)/
61、/數(shù)組huffnode[]初始化</p><p><b> {</b></p><p> huffnode[i].weight=0;</p><p> huffnode[i].parent=-1;</p><p> huffnode[i].lchild=-1;</p><p> huff
62、node[i].rchild=-1;</p><p><b> }</b></p><p> printf("輸入要編譯的句子的\n");</p><p> for(i=0;i<n;i++){</p><p> printf("第%d個(gè)結(jié)點(diǎn)",i+1);</p&
63、gt;<p> scanf("%d",&huffnode[i].weight);</p><p> getchar();</p><p><b> }</b></p><p> printf("印二叉樹:\n"); </p><p> for
64、(i=0;i<n;i++)</p><p><b> {</b></p><p> quanzhi(t,s,n);</p><p> k=huffnode[i].weight;</p><p><b> }</b></p><p> for(i=0;i<
65、n-1;i++)</p><p><b> {//構(gòu)造哈夫曼樹</b></p><p> m1=m2=maxvalue;</p><p><b> x1=x2=0;</b></p><p> for(j=0;j<n+i;j++)</p><p> {//選取最
66、小和次小兩個(gè)權(quán)值</p><p> if(huffnode[j].parent==-1&&huffnode[j].weight<m1)</p><p><b> {</b></p><p><b> m2=m1;</b></p><p><b> x2=x1;
67、</b></p><p> m1=huffnode[j].weight;</p><p><b> x1=j;</b></p><p><b> }</b></p><p><b> else</b></p><p> if(huf
68、fnode[j].parent==-1&&huffnode[j].weight<m2)</p><p><b> {</b></p><p> m2=huffnode[j].weight;</p><p><b> x2=j;</b></p><p><b>
69、 }</b></p><p> }//將找出的兩棵子樹合并為一顆子樹</p><p> huffnode[x1].parent=n+i;</p><p> huffnode[x2].parent=n+i;</p><p> huffnode[n+i].weight=huffnode[x1].weight+huffnode[
70、x2].weight;</p><p> huffnode[n+i].lchild=x1;</p><p> huffnode[n+i].rchild=x2;</p><p><b> }</b></p><p> for(i=0;i<2*n-1;i++)</p><p><b
71、> {</b></p><p> printf(" %4d",k);</p><p> printf(" %4d",huffnode[i].lchild);</p><p> printf(" %4d",huffnode[i].rchild
72、);</p><p> printf(" %4d\n",huffnode[i].parent);</p><p><b> }</b></p><p><b> *m=n;</b></p><p><b> }</b></p>
73、;<p><b> //編譯碼函數(shù)</b></p><p> void haffmancode()</p><p><b> {</b></p><p> hnodetype huffnode[maxnode];</p><p> hcodetype huffcode[max
74、leaf],cd;</p><p> int i,j,c,p,n=0;</p><p> haffmantree(huffnode,&n);</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> cd.start=n-1
75、;</p><p><b> c=i;</b></p><p> p=huffnode[c].parent;</p><p> while(p!=-1)</p><p><b> {</b></p><p> if(huffnode[p].lchild==c)<
76、;/p><p> cd.bit[cd.start]=0;</p><p><b> else</b></p><p> cd.bit[cd.start]=1;</p><p> cd.start--;</p><p><b> c=p;</b></p>&
77、lt;p> p=huffnode[c].parent;</p><p><b> }</b></p><p> for(j=cd.start+1;j<n;j++)</p><p> huffcode[i].bit[j]=cd.bit[j];</p><p> huffcode[i].start=cd
78、.start;</p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> printf("第%d個(gè)譯碼為:",i+1);</p><p> for(j=
79、huffcode[i].start+1;j<n;j++)</p><p> printf("%4d",huffcode[i].bit[j]);</p><p> printf("\n");</p><p><b> }</b></p><p><b> }&
80、lt;/b></p><p><b> //輸出主菜單函數(shù)</b></p><p> void shuchu()</p><p><b> {</b></p><p> printf("*********************************************
81、***********************************\n");</p><p> printf("*** |** 哈夫曼樹的編譯碼 ** | ***\n");</p><p> printf("***
82、 |** 1.輸出二叉樹操作 ** | ***\n");</p><p> printf("*** |** 2.進(jìn)行編譯碼操作 ** | ***\n");</p><p> printf("***
83、 |** 3.退出編譯碼操作系統(tǒng)** | ***\n");</p><p> printf("********************************************************************************\n");</p><
84、;p> printf("請(qǐng)選擇要進(jìn)行的操作:");</p><p><b> }</b></p><p><b> //主函數(shù)</b></p><p> void main()</p><p><b> {</b></p>&l
85、t;p> int i,n,s=1; </p><p> hnodetype huffnode[maxnode];</p><p><b> while(s)</b></p><p><b> {</b></p><p><b> shuchu();</b><
86、;/p><p> scanf("%d",&i);</p><p><b> switch(i)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p><b&g
87、t; {</b></p><p> haffmantree(huffnode,&n);</p><p><b> break;</b></p><p><b> }</b></p><p><b> case 2:</b></p>&
88、lt;p><b> {</b></p><p> haffmancode();</p><p><b> break;</b></p><p><b> }</b></p><p><b> case 3: </b></p>
89、<p><b> s=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈夫曼(huffman)編譯碼器課程設(shè)計(jì)
- 哈夫曼課程設(shè)計(jì)報(bào)告--哈夫曼編譯碼器
- 哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告
- 哈夫曼編碼譯碼器課程設(shè)計(jì)
- (哈夫曼編碼譯碼器)(課程設(shè)計(jì)報(bào)告)
- 哈夫曼編碼譯碼器課程設(shè)計(jì)--- 哈夫曼樹的建立與實(shí)現(xiàn)
- 赫夫曼編譯碼器數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-哈夫曼編碼譯碼器
- java哈夫曼編碼譯碼器
- 課程設(shè)計(jì)-赫夫曼編譯碼器數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
- 赫夫曼編譯碼器的實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)哈夫曼編碼譯碼器課程設(shè)計(jì)報(bào)告(有源程序)
- 課程設(shè)計(jì)--哈夫曼編碼與譯碼
- 課程設(shè)計(jì)---pcm編譯碼器設(shè)計(jì)
- 哈夫曼編碼與譯碼課程設(shè)計(jì)報(bào)告
- 應(yīng)用數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--huffman編/譯碼器
- 哈夫曼編碼譯碼的實(shí)現(xiàn)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告——哈夫曼編譯器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--哈夫曼編編譯器
- 哈夫曼編碼譯碼數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論