好文档 - 专业文书写作范文服务资料分享网站

霍夫曼编码实验报告(C)

天下 分享 时间: 加入收藏 我要投稿 点赞

1、实验名称:霍夫曼编码

2、实验环境

软件环境:Windows 2000,Microsoft Visual C++6.0

硬件环境:P4,2.4GHz,256内存,IBM-PC及兼容机

3、实验目的

掌握霍夫曼编码、译码原理,并能够通过程序模拟其编码、译码功能。

4、实验原理

1、消息按其出现的概率由大到小地排成一个概率序列;

2、把概率最小两个消息分成一组,其中一个消息编为0,另一个编为1,然后求其概率和,并把这个新概率与其他尚未处理过的概率重新按概率由大到小排成一个新的概率序列;

3、重复步骤,直到所有概率都已联合处理完为止。

5、实验过程与实验结果

源程序:

#include

#include

using namespace std;

#include

typedef struct{//霍夫曼树的结构体

char ch;

double weight; //权值,此处为概率

int parent,lchild,rchild;

}htnode,*hfmtree;

typedef char **hfmcode;

/*****************************全局变量*****************************/

hfmtree HT;

hfmcode HC;

int n=0;//霍夫曼树叶节点个数

int m=0;//霍夫曼树所有节点个数

int *code_length;//用于记录每个消息字符的码长

/*****************************霍夫曼编码模块*****************************/

//对输入的字符进行检验

int Input_Char_Check()

{

int flag=1;

int j;

for(int i=1;i

{

for(j=i+1;j<=n;j++)

if(HT[j].ch==HT[i].ch)

{

flag=0;

break;

}

}

return flag;

}

//对输入的概率进行检测

int Input_Weight_Check(){

int flag=0;

霍夫曼编码实验报告(C)

1、实验名称:霍夫曼编码2、实验环境软件环境:Windows2000,MicrosoftVisualC++6.0硬件环境:P4,2.4GHz,256内存,IBM-PC及兼容机3、实验目的掌握霍夫曼编码、译码原理,并能够通过程序模拟其编码、译码功能。4、实验原理<
推荐度:
点击下载文档文档为doc格式
6wbe31kp8f7s7tu43p391qw0b8cv4600t3c
领取福利

微信扫码领取福利

微信扫码分享