下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、哈夫曼編碼實驗四 二叉樹的應(yīng)用-哈夫曼編碼一、實驗?zāi)康?. 在二叉樹基本操作的基礎(chǔ)上,掌握對二叉樹的一些其它操作的具體實現(xiàn)方法。2. 掌握構(gòu)造哈夫曼樹以及哈夫曼編碼的方法。、實驗內(nèi)容哈夫曼樹和哈夫曼編碼:從終端輸入若干個字符,統(tǒng)計字符出現(xiàn)的頻率,將字符出現(xiàn)的頻率作為結(jié)點的 權(quán)值,建立哈夫曼樹,然后對各字符進(jìn)行哈夫曼編碼。最后打印哈夫曼樹和對應(yīng)的 哈夫曼編碼。設(shè)計要求: 哈夫曼殊和哈夫曼編碼的存儲表示參考教材事例 在程序中構(gòu)造四個子程序為 int freqchar (char *text, HTree *t) /*統(tǒng)計字符出現(xiàn)的頻率 */ int createhtree(HTree *t) /*
2、 根據(jù)字符出現(xiàn)的頻率建立哈夫曼樹 */ void codi ng(HTree *t, int head_i,char *code)/*對哈夫曼樹進(jìn)行編碼*/ void printhtree(HTree *t,int head_i,int deep,int* path)/*中序打印樹*/三、實驗步驟、數(shù)據(jù)結(jié)構(gòu)與核心算法的設(shè)計描述# in clude <stdio.h># in clude <malloc.h># in clude <iostream.h># in clude vconi o.h># in clude <stri ng.h>#
3、defi ne MAX_LENGTH 100typedef char *Huffma nCode;typedef struct/defi ne structure Huffma nTreeun sig ned int weight;un sig ned int pare nt,lchild,rchild;HTNode,*Huffma nTree;總5頁第6頁、函數(shù)調(diào)用及主函數(shù)設(shè)計程序調(diào)試及運行結(jié)果分析h hh 弋_ 口 t t t 12 3 I1AI1AI1AI1A 請請請請.fflftTEll.weight-854T2 J.weight-26 T3 J.weight=35I立的哈夫曼樹如下列
4、次序;Tt2 and HT(3 create HT4, weight=61 T【4J and HTtl create HTESJ, weiQht=915合夫曼編碼如下:TE1JTL2TE3Jress0 1 i 0 0 #=!;喚 分fdpfdp i TflTflTfl t fi.fifin 昌ss文 c刼 D UMIMIS t 哈哈哈y 溝也自e 點點點y "pfJiTan實驗總結(jié)哈弗曼編碼輸入抽象數(shù)據(jù)類型,不易掌握,需要慢慢修改。 四、主要算法流程圖及程序清單1、主要算法流程圖:void Select(HuffmanTree HT,int i,int &s1,int &am
5、p;s2)void Huffma nCodi ng(Huffma nTree &H T,Huffma nCode&HC,i nt *w,i nt n)2 、程序清單哈夫曼轉(zhuǎn)化函數(shù):void Select(Huffma nTree HT,i nt i,i nt & s1,i nt & s2)int j,k=1;while(HTk.pare nt!=O)k+;s仁k;for(j=1;j<=i;+j)if(HTj.pare nt=O&&HTj.weight<HTs1.weight) s1=j;k=1;while(HTk.pare nt!=O
6、|k=s1)k+;s2=k;for(j=1;j<=i;+j)if(HTj.pare nt=O&&H Tj.weight<HTs2.weight&&j!=s1) s2=j;void Huffma nCodi ng(Huffma nTree &H T,Huffma nCode&HC,i nt *w,i nt n)int m,i,s1,s2,start,c,f;Huffma nTree p;if(*=1)return;m=2* n-1;HT=(Huffma nTree)malloc(m+1)*sizeof(HTNode);for(p=HT+
7、1,i=1;i<=n;+i,+p,+w)p->weight=*w;cout«e ndlvv"HT"vvivv".weight="vvp->weight<v""p->pare nt=0;p->lchild=0;初始化哈夫曼樹p->rchild=0;for(;i<=m;+i,+p)/in itial HT n+1.2* n1p->weight=0;p->pare nt=0;p->lchild=0;p->rchild=0;coutvvendlvvendlvv&
8、quot;建立的哈夫曼樹如下列次序:";for(i=n+1;i<=m;+i)Select(HT,i-1,s1,s2);s1 is the least, s2 is the seco nd leastHTs1.pare nt=i; HTs2.pare nt=i;HTi.lchild=s1;HTi.rchild=s2;HTi.weight=HTs1.weight+HTs2.weight;cout«e ndlvv"HT"vvs1<v" a nd HT"<<s2<<" create" c
9、out«" HT"<<i<<", weight="«HTi.weight;HC=(Huffma nCode)malloc( n+1)*sizeof(char *);char *cd;cd=(char *)malloc( n*sizeof(char);cd n-1='0'cout«endl«endlvv"哈夫曼編碼如下:"<<endl;for(i=1;i<=n;+i)start=n-1;for(c=i,f=HTi.pare nt;f!=0;
10、c=f,f=HTf.pare nt)if(HTf.lchild=c)cd-start='0'elsecd-start='1'HCi=(char*)malloc( n-start)*sizeof(char);strcpy(HCi, &cdstart);printf("nHT%d節(jié)點的哈夫曼編碼是:s",i,HCi);coutvve ndl;free(cd);主函數(shù):void mai n()/ma in() fun ctio nHuffma nTree HT;Huffma nCode HC;int n,i;int *w,WMAX_LENGTH;coutvv"請輸入哈夫曼樹的元素個數(shù):";cin>&
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能網(wǎng)聯(lián)汽車的關(guān)鍵技術(shù)分析
- 2024-2025學(xué)年新教材高中歷史第八單元中華民族的抗日戰(zhàn)爭和人民解放戰(zhàn)爭第25課人民解放戰(zhàn)爭學(xué)案含解析新人教版必修中外歷史綱要上1
- 2024-2025學(xué)年新教材高中政治第二單元經(jīng)濟(jì)發(fā)展與社會進(jìn)步第四課我國的個人收入分配與社會保障綜合訓(xùn)練含解析新人教版必修2
- 2025年日喀則貨運考試
- 2025年達(dá)州經(jīng)營性道路客貨運輸駕駛員從業(yè)資格考試
- 2025的承包合同書
- 中國建筑用膠水項目投資可行性研究報告
- 上?,F(xiàn)代化工職業(yè)學(xué)院《衛(wèi)生統(tǒng)計學(xué)C》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025工程建設(shè)車輛租賃合同書
- 大學(xué)中期報告范文模板
- 量具檢具清單
- 2023-2024學(xué)年江蘇省昆山市小學(xué)數(shù)學(xué)五年級上冊期末??荚囶}
- 江蘇市政工程計價表定額計算規(guī)則
- 電纜橋架施工方案
- TFSRS 2.4-2019“撫松人參”加工技術(shù)規(guī)程 第4部分:生曬參片
- GB/T 18742.2-2017冷熱水用聚丙烯管道系統(tǒng)第2部分:管材
- GB 22128-2019報廢機(jī)動車回收拆解企業(yè)技術(shù)規(guī)范
- 復(fù)讀生勵志主題班會
- 2023年復(fù)旦大學(xué)博士研究生科研計劃書-模板
- 膠囊內(nèi)鏡的臨床與應(yīng)用
- 《不刷牙的小巨人》演講比賽PPT
評論
0/150
提交評論