信息论与编码实验报告(10)

2021-02-21 09:17

信息论与编码实验报告

香农编码关键代码:

typedef struct {

int weight; int parent; int lchild; int rchild; }hnodetype; //哈夫曼树节点 typedef struct {

int bit[10]; int position; char sign; }hcodetype; //哈弗曼编码表

void Huffman(char sign[],int m[],int n); //函数声明 void main() {

int i=0,n=8; int m[10]={40,18,10,10,7,6,5,4}; char sign[10]="hufmcode";

cout<<setw(12)<<"各个字符为:"; for (i=0;i<n;i++) cout<<setw(8)<<sign[i]; cout<<endl<<setw(12)<<"字符加权为:"; for (i=0;i<n;i++) { float f=(float)m[i]/100; cout<<setw(8)<<f; }

cout<<endl<<endl<<"各字符的哈夫曼码为:"<<endl; Huffman(sign,m,n); }

void Huffman(char sign[],int m[],int n)

{ int i,j,m1,m2,x1,x2,c,p;

hnodetype *huffnode=new hnodetype[2*n-1]; //一共2n-1个节点 hcodetype *huffcode=new hcodetype[n],temp; for(i=0;i<2*n-1;i++) { //初始化哈夫曼树 huffnode[i].weight=0; huffnode[i].parent=0; huffnode[i].lchild=-1; huffnode[i].rchild=-1; }


信息论与编码实验报告(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:防火检查记录表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: