七哈夫曼編碼及應(yīng)用匯編_第1頁
七哈夫曼編碼及應(yīng)用匯編_第2頁
七哈夫曼編碼及應(yīng)用匯編_第3頁
七哈夫曼編碼及應(yīng)用匯編_第4頁
七哈夫曼編碼及應(yīng)用匯編_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、廣州中醫(yī)藥大學醫(yī)學信息工程學院課程名稱:專業(yè)班級:學生學號:學生姓名:實驗名稱:實驗成績: 課程類別:必修實驗報告數(shù)據(jù)結(jié)構(gòu)與算法計算機科學與技術(shù)()級限選口公選口其它口哈夫曼編碼及應(yīng)用實驗?zāi)康模毫私夤蚵鼧涞膽?yīng)用,掌握哈夫曼樹的構(gòu)造方法及前綴碼的應(yīng)用。實驗性質(zhì):設(shè)計性,應(yīng)用性。實驗步驟:(1)輸入一串字符,統(tǒng)計其中所有的不同字符及其個數(shù),得出每個不同字符在文中出現(xiàn)的頻率。(2)根據(jù)每個字符頻率建立哈夫曼樹,輸出字符對應(yīng)的編碼。實驗要求1、實驗要求獨立完成。2、遲交或不交的或源代碼雷同者一律不做作業(yè)登記評分。作業(yè)提交(實驗報告寫在此處)給出含有6, 8,11個字符的實例,統(tǒng)計他們的頻率,畫出哈夫

2、曼樹,并用算法 驗證結(jié)果。.333333 .333333 16666?166667continue碼碼碼碼at y0 0 0 0 為為為為 nn10110001 n2,2,曰習習習疋nyBtt數(shù)數(shù)數(shù)數(shù)46BeK-K)的的21的的時的AABCD2ABCDcont inue0 0 0 0 0 0S88 ”頻頻頻頻頻頻48000110I1H11I“ k Btt2,2,24曰¥習習習習疋nyFA數(shù)數(shù)數(shù)數(shù)數(shù)數(shù)12' n0 100 0 1碼碼碼碼碼碼aLh、1L>h、J-cLh、Juh、J.AHAHAHAHM.OMAH 2 .nAHAWMAH.ABCDEF2ABCD"C:

3、Usersgglcontinue00r000001 0 10 1 cc頻頻頻頻頻頻頻44ll“1000000101k AB2.2,3,眈曰習習習習習篁ny FG數(shù)數(shù)數(shù)數(shù)11碼碼碼碼碼碼碼a 逼 1 s Dyz z- Jnz- i s- PQ ,rvl r 二 "-二一 _L Iri i J rILJI-j rjr181818181818 27272?090909090909090909代碼寫在此處#in clude"stdio.h"#in clude<malloc.h>#define MAXNODE 20#define MAXLEAF 30#defin

4、e MAXINT 234567 struct HtNodeint ww;int pare nt,lchild,rchild;struct HtTreein t root;struct HtNode htMAXNODE;typedef struct HtTree PHtTree;PHtTree *huffma n(i nt m,i nt *w);void mai n() char sMAXNODE;int m=0;char wMAXNODE; i nt co un t=0;int t=0;int aMAXNODE;int *b;char *code;code=(char *)malloc(siz

5、eof(char); b=(int *)malloc(sizeof(int); printf(" 請輸入字符竄: n"); for(int i=0;i<MAXNODE;i+) scanf("%c ",&si);+count;if(si='#')break;for(i=0;i<count-1;i+) ai=0;bm=0;for(int j=0;j<count-1;j+)if(si=sj&&i<=j) ai=ai+1; if(si=sj&&i>j) ai=ai+1; si=

6、NULL; if(si!=NULL) bm=ai; wm=si; m+;頻率printf("%c 的 個 數(shù) %d, 為 fn",wm-1,bm-1,(float)ai/(cou nt-1);PHtTree *pht;pht=(PHtTree *)malloc(sizeof(PHtTree); pht=huffman(m,b);for(i=0;i<2*m-1;i+)printf("%d",pht->hti.ww);printf("n"); for(i=0;i<m;i+) int c;c=i;t=0; int p=ph

7、t->hti.parent;while(p!=-1)if(pht->htp.lchild=c) codet='0't+;if(pht->htp.rchild=c) codet='1't+;pht->root-;c=p;p=pht->htp.parent;printf("%c 的編碼是 ",wi); for(int y=t-1;y>=0;y-) printf("%c",codey); printf("n");PHtTree *huffman(int m,int *w)構(gòu)

8、造具有 m各節(jié)點的哈弗曼樹PHtTree *pht;int i,j,x1,x2,m1,m2;pht=(PHtTree *)malloc(sizeof(PHtTree);if(pht=NULL)printf("out of space!n"); return pht;for(i=0;i<2*m-1;i+)pht->hti.lchild=-1;pht->hti.rchild=-1;pht->hti.parent=-1;if(i<m)pht->hti.ww=wi;elsepht->hti.ww=-1; for(i=0;i<m-1;i+)m1=MAXINT;m2=MAXINT;x1=-1;x2=-1;for(j=0;j<m+i;j+)if(pht->htj.ww<m1&&pht->htj.parent=-1)m2=m1;x2=x1;m1=pht->htj.ww;x1=j;else if(pht->htj.ww<m2&&pht->htj.parent=-1)m2=pht->htj.ww;x2=j;pht->htx1.parent=m+i;pht->htx2.paren

溫馨提示

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

評論

0/150

提交評論