![哈夫曼編碼使用說明_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/13/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f6/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f61.gif)
![哈夫曼編碼使用說明_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/13/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f6/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f62.gif)
![哈夫曼編碼使用說明_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/13/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f6/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f63.gif)
![哈夫曼編碼使用說明_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/13/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f6/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f64.gif)
![哈夫曼編碼使用說明_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/13/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f6/6d9aefa7-aa60-49f8-bc32-b38bdf0f62f65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、哈夫曼編碼使用說明哈夫曼編碼程序使用說明河南理工大學(xué)信息論與編碼 編程作業(yè)哈夫曼編碼程序使用說明2019 年 1 月本程序的編碼和運(yùn)行都是在 VC+6.0 中實(shí)現(xiàn)的,整個(gè)程序雖然看似龐大,但編寫過程 清晰,采用模塊化編寫,各個(gè)問題逐個(gè)擊破,也方便對(duì)程序的管理和運(yùn)行。整個(gè)程序的編寫分為五大部分: main 主函數(shù), xiaoxi 子函數(shù), add 子函數(shù), coding 子函數(shù), ordination 子函數(shù)。五大部分緊密相連,環(huán)環(huán)相扣,共同實(shí)現(xiàn)程序的編碼。Main ()主函數(shù)主要負(fù)責(zé)其它函數(shù)的調(diào)用和最后結(jié)果的輸出; Xiaoxi ()子函數(shù) 主要負(fù)責(zé)輸入需要的概率數(shù)據(jù); Add ()子函數(shù)負(fù)責(zé)
2、概率相加以便于排序;coding ()子函數(shù)負(fù)責(zé)具體編碼工作。從右往左逐列編碼,在每一列從下往上逐個(gè)編碼,負(fù)責(zé)對(duì)每一個(gè)位置處的編碼,與上課時(shí)學(xué)習(xí)的方法稍有不同,其原理相同。ordination ()子函數(shù)主要負(fù)責(zé)各個(gè)概率間以及概率和的排序。 該程序的優(yōu)點(diǎn)有以 下四個(gè)方面:一、程序在剛運(yùn)行的時(shí)候需要輸入概率數(shù)據(jù),程序會(huì)啟動(dòng)蜂鳴器,提示需要輸入數(shù)據(jù);在輸入需要輸入的數(shù)據(jù)個(gè)數(shù)之后,會(huì)再次啟動(dòng)蜂鳴器提醒需要輸入概率數(shù)據(jù);程 序具有的提醒功能是本程序的一大特色。 二、程序在輸入完需要的數(shù)據(jù)(概率)后,會(huì) 自動(dòng)排序,而不需要再去麻煩的排序。 三、程序在運(yùn)行過程中會(huì)自動(dòng)檢錯(cuò)(錯(cuò)誤報(bào)警):當(dāng)輸入的概率大于 1
3、 或小于 0 的時(shí)候,系統(tǒng)會(huì)自動(dòng)提示錯(cuò)誤; 當(dāng)輸入的概率之 和大于 1 時(shí),系統(tǒng)會(huì)自動(dòng)檢錯(cuò)。四、程序的編碼過程清晰,編碼過程中所有的概率都會(huì)在顯示窗口顯示出來,更清楚易懂。注:若兩概率之和與另一概率相等,概率之和會(huì)自動(dòng)排在后面理論上講求和排序的時(shí)候是按照列的形式,但程序按照行的形式。當(dāng)然了,再完美的計(jì)劃也會(huì)有破綻,這個(gè)程序也不可避免地存在些小缺點(diǎn): 出錯(cuò)報(bào)警時(shí)增加蜂鳴器 長時(shí)間工作;add函數(shù)語句重復(fù),流程圖中已經(jīng)進(jìn)行了修改。程序使用說明:該程序是在VC+6.0環(huán)境下編寫的,運(yùn)行也需要在 VC+6.0中運(yùn)行,請(qǐng)確保你在裝載 有VC+6.0環(huán)境下運(yùn)行。一、程序測(cè)試檢錯(cuò)功能本程序會(huì)對(duì)輸入的概率自動(dòng)
4、檢錯(cuò),任何輸入大于 1或小于 0 的概率,或概率之和不等 于 1,系統(tǒng)都會(huì)提示錯(cuò)誤。 編碼功能進(jìn)行哈弗曼編碼:第一步,輸入你所需要的概率個(gè)數(shù):如你需要輸入概率P1P10請(qǐng)輸入10,點(diǎn)回車鍵。第二步,輸入你所需要的概率,程序會(huì)自動(dòng)排序:如輸入概率P1P10,分別點(diǎn)回車鍵確認(rèn),否則請(qǐng)按退格鍵。第三步,輸入完成后,按下回車鍵,程序會(huì)出現(xiàn)結(jié)果。二、測(cè)試應(yīng)用測(cè)試一1哈夫曼編碼程序使用說明測(cè)試二測(cè)試三2經(jīng)過測(cè)試發(fā)現(xiàn),程序滿足哈弗曼編碼的要求。3附 1 :源程序:#include #include#define w 10 float aw,bww=0,fw=0; int n); printf( 出錯(cuò),概率和
5、應(yīng)為 1 return(0); i,cwww,dw=0,m; xiaoxi() int n; float P=0;printf(n 請(qǐng)分別輸入消息概率 na);for(n=0;nscanf(%f,&an); if(an=1|an printf( 出錯(cuò),概率應(yīng)在 0,1 范圍內(nèi) n); return(0); break; P+=an; if(P!=1) Else return(1);ordination(int f,float *e) int g,j;float k;for(g=0;g for(j=g+1;j if(eg k=eg; eg=ej; ej=k; coding() int j,k,t
6、,r; i=m-3;4r=0; ci+100=0; ci+110=1; for(;i=0;i-) t=0;for(k=m-2-i;k=0;k-) if(fi=bi+1k)&(t=0)t=1;for(r=0;ci+1kr!=2;r+) cim-i-2r=ci+1kr; cim-i-1r=ci+1kr ; cim-i-2r=0; cim-i-1r=1; for(j=m-i-3;j=0;j-) for(k=m-2-i;k=0;k-) if(bij=bi+1k) for(r=0;ci+1kr!=2;r+) cijr=ci+1kr; add() int j;for(i=0;i bim-i-1=bi-1m
7、-i-1+bi-1m-i; fi-1=bim-i-1; for(j=0;jbij=bi-1j;ordination(m-i,bi); main() int n,x,y; floatK=0,H=0;for(n=0;nfor(x=0;x5for(y=0;ycnxy=2;printf(n 請(qǐng)輸入消息個(gè)數(shù) nna); scanf(%d,&m);printf(n); y=xiaoxi(); if(y=1); ordination(m,a); add();coding();printf(n 編碼過程 n);for(n=0;nprintf(n第%d列:,n+1);for(x=0;xif(bnx=0) break;printf(t%5.4f,bnx);printf(n); printf(n);for(n=0;nprintf(概率為 %5.4f 的符號(hào)編碼后碼字為 :t,an);for(x=0;xif(c0nx=2)break;printf(%d,c0nx); dn+;K+=an*dn;H+=(-an*log10l(an)/log10l(2); printf(t其碼長為: %dn,dn);printf(n平均碼長 K=); printf(%5.4f,K)printf(t信源熵 =%5.4f,H);printf(t編碼效率(H/K)=%5.4f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 5《我愛我們班》教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治二年級(jí)上冊(cè)統(tǒng)編版
- 第7課 學(xué)習(xí)HipHop嘻哈舞 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊(cè)
- 第3章 基因的本質(zhì)單元教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一下學(xué)期生物人教版必修二
- 17《要是你在野外迷了路》教學(xué)設(shè)計(jì)2023-2024學(xué)年統(tǒng)編版語文二年級(jí)下冊(cè)
- 7 制作一個(gè)潛望鏡 教學(xué)設(shè)計(jì)-2024-2025學(xué)年科學(xué)五年級(jí)上冊(cè)教科版
- 第五章第二節(jié)創(chuàng)新實(shí)驗(yàn):銅與硝酸 教學(xué)設(shè)計(jì) 2023-2024學(xué)年高一下學(xué)期化學(xué)人教版(2019)必修第二冊(cè)
- 分蘋果(教學(xué)設(shè)計(jì))-2024-2025學(xué)年數(shù)學(xué)二年級(jí)上冊(cè)北師大版
- 2025年放射性固體廢物處置系列設(shè)備項(xiàng)目建議書
- 第10課 共享區(qū)域慧調(diào)度(教學(xué)設(shè)計(jì))2024-2025學(xué)年五年級(jí)上冊(cè)信息技術(shù)泰山版
- 2025年皮革、毛皮及其制品加工專用設(shè)備項(xiàng)目合作計(jì)劃書
- 2025書記員招聘考試題庫及參考答案
- 2024-2025年第二學(xué)期數(shù)學(xué)教研組工作計(jì)劃
- 2025輔警招聘公安基礎(chǔ)知識(shí)題庫附含參考答案
- 2025年菏澤醫(yī)學(xué)??茖W(xué)校高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 成都四川成都簡(jiǎn)陽市簡(jiǎn)城街道便民服務(wù)和智慧蓉城運(yùn)行中心招聘綜治巡防隊(duì)員10人筆試歷年參考題庫附帶答案詳解
- 2025-2030全球廢棄食用油 (UCO) 轉(zhuǎn)化為可持續(xù)航空燃料 (SAF) 的催化劑行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 山東省臨沂市蘭山區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末考試生物試卷(含答案)
- 2025年環(huán)衛(wèi)工作計(jì)劃
- 湖北省武漢市2024-2025學(xué)年度高三元月調(diào)考英語試題(含答案無聽力音頻有聽力原文)
- 品質(zhì)巡檢培訓(xùn)課件
- 一年級(jí)下冊(cè)勞動(dòng)《變色魚》課件
評(píng)論
0/150
提交評(píng)論