



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
InformationTheoty&Coding-PAGE1-信息論與編碼信息論與編碼實(shí)驗(yàn)報告實(shí)驗(yàn)報告學(xué)生姓名學(xué)生姓名***學(xué)號***專業(yè)班級信息安全0701HuffmanandShannoncodingHuffmanandShannoncoding指導(dǎo)教師指導(dǎo)教師***學(xué)院***完成時間2009年4月三、詳細(xì)設(shè)計(jì)1.Huffman編碼#include<iostream.h>#include<stdio.h>#include<malloc.h>typedefstructnode{node*lchild;node*rchild;chardata;intweight;}*tree;structelemtype{charch;intweight;intcode[10];};intN=0,m=0;voidsavetree(char*str){FILE*fp=fopen("1.txt","w");for(inti=0;i<m;i++){fputc(str[i],fp);}fclose(fp);}voidcreatehuffman(tree&T,elemtype**a,intn){inti=0,j,k1,k2;btree*b;btreeq;b=(btree*)malloc(n*sizeof(tree));for(i=0;i<n;i++){b[i]=(bnode*)malloc(sizeof(node));b[i]->data=a[i]->ch;b[i]->weight=a[i]->weight;b[i]->lchild=b[i]->rchild=NULL;}for(i=1;i<n;i++){k1=-1;for(j=0;j<n;j++){if(b[j]!=NULL&&k1==-1){k1=j;continue;}if(b[j]!=NULL){k2=j;break;}}for(j=0;j<n;j++){if(b[j]!=NULL){if(b[j]->weight<=b[k1]->weight){k1=j; }}}if(k1==k2){for(j=0;j<n;j++){if(b[j]!=NULL&&j!=k1){k2=j;break;}}}for(j=0;j<n;j++){if(b[j]!=NULL&&j!=k1){if(b[j]->weight<=b[k2]->weight){k2=j;}}}q=(bnode*)malloc(sizeof(bnode));q->data='#';q->lchild=b[k1];q->rchild=b[k2];q->weight=b[k1]->weight+b[k2]->weight;b[k1]=q;b[k2]=NULL;}free(b);T=q;}voidhuffmancoding(btreeT,intlen,elemtype**codes){staticinta[10];if(T!=NULL){if(T->lchild==NULL&&T->rchild==NULL){inti;printf("%c",T->data);codes[N]=(elemtype*)malloc(sizeof(elemtype));codes[N]->ch=T->data;codes[N]->weight=0;for(i=0;i<10;i++)codes[N]->code[i]=2;for(i=0;i<len;i++){printf("%d",a[i]);codes[N]->code[i]=a[i];}N++;printf("\n");}else{a[len]=0;huffmancoding(T->lchild,len+1,codes);a[len]=1;huffmancoding(T->rchild,len+1,codes);}}}voidinitlize(char*str,btree&T,elemtype**codes,char*s){inti=0,j,n=0,k=0,h;elemtype*a[20];for(j=0;j<20;j++)a[j]=NULL;while(str[i]!=0){for(j=0;j<i;j++){if(str[j]==str[i]){for(h=0;h<n;h++){if(a[h]->ch==str[j])break;}a[h]->weight++;break;}}if(j>=i){a[k]=(elemtype*)new(elemtype);a[k]->ch=str[i];a[k]->weight=1;n++;k++;}i++;}cout<<n<<endl;createhuffman(T,a,n);cout<<endl;savetree(s);k=0;cout<<"所求哈夫曼編碼表如下:"<<endl;huffmancoding(T,k,codes);}voidmain(){btreet=NULL;elemtype*b[26];charstr[100];chars[50];cout<<endl;cout<<"**哈夫曼編碼程序**"<<endl;cout<<end
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程經(jīng)濟(jì)核心概念試題及答案
- 水利水電工程面臨的挑戰(zhàn)試題及答案
- 自考行政管理實(shí)踐考核試題及答案分析
- 投資決策中的不確定性分析試題及答案
- 醫(yī)藥流通企業(yè)供應(yīng)鏈優(yōu)化與成本控制中的綠色物流模式創(chuàng)新實(shí)踐研究
- 2025年文化旅游演藝項(xiàng)目策劃運(yùn)營:文化旅游演藝產(chǎn)業(yè)鏈條優(yōu)化與升級報告
- 密集復(fù)習(xí)水利水電工程試題及答案策略
- 2025年工程經(jīng)濟(jì)調(diào)整策略試題及答案
- 2025年高考第二次模擬考試數(shù)學(xué)(新八省)(考試版A)
- 2025市政工程勞動合同管理試題及答案
- ICU患者鎮(zhèn)痛鎮(zhèn)靜的護(hù)理課件
- 臨時支撐體系拆除審批表
- 錦程網(wǎng)生涯規(guī)劃書
- 2020 ACLS-PC-SA課前自我測試試題及答案
- (完整版)《安全標(biāo)志及其使用導(dǎo)則規(guī)范》
- 新制經(jīng)濟(jì)學(xué)學(xué)習(xí)教案
- 鐵皮石斛集約化高產(chǎn)栽培技術(shù)研究
- GB∕T 31838.7-2021 固體絕緣材料 介電和電阻特性 第7部分:電阻特性(DC方法) 高溫下測量體積電阻和體積電阻率
- 變頻器變頻altivar71說明書
- 車門玻璃升降器的設(shè)計(jì)與運(yùn)動仿真設(shè)計(jì)
- 全國二調(diào)地類分類表
評論
0/150
提交評論