1 / 15
文档名称:

哈夫曼编码解码实验报告.doc

格式:doc   大小:372KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈夫曼编码解码实验报告.doc

上传人:2786321826 2021/1/25 文件大小:372 KB

下载得到文件列表

哈夫曼编码解码实验报告.doc

文档介绍

文档介绍:哈夫曼编码解码实验
实验要求
掌握二叉树的相关概念
掌握构造哈夫曼树,进行哈夫曼编码。
对编码容通过哈夫曼树进行解码。
实验容
通过二叉树构造哈夫曼树,并用哈夫曼树对读取的txt文件进行哈夫曼编码。编码完成后通过哈夫曼树进行解码。
#include<>
#include<>
#define MAX 100
//定义哈夫曼树的存储结构
typedef struct
{
char data;
int weight;
int parent;
int lch;
int rch;
}HuffNode;
//定义哈夫曼编码的存储结构
typedef struct
{
char bit[MAX];
int start;
}HuffCode;
HuffNode ht[2*MAX];
HuffCode hcd[MAX];
int Coun[127]={0};
int n;
char s1[200000];
char text[5000];
//构造哈夫曼树
void HuffmanTree()
{
int i,j,k,left,right,min1,min2;
//printf("输入叶子的节点数:");
//scanf("%d",&n);
printf("字符数量=%d\n",n);
for(i=1;i<=2*n-1;i++)
{
ht[i].parent=ht[i].lch=ht[i].rch=0;
}
j=0;
for(i=1;i<=n;i++)
{
/*getchar();
printf("输入第%d个叶子节点的值:",i);
scanf("%c",&ht[i].data);
printf("输入该节点的权值:");
scanf("%d",&ht[i].weight);
*/
for(;j<127;j++)
{
if(Coun[j]!=0)
{
ht[i].data=j;
//printf("%c",ht[i].data);
ht[i].weight=Coun[j];
//printf("%d",ht[i].weight);
break;
}
}
j++;
}
printf("\n");
for(i=1;i<=n;i++)
{
printf("%c",ht[i].data);
}
printf("\n");
for(i=n+1;i<=2*n-1;i++)
{//在前n个结点中选取权值最小的两个结点构成一颗二叉树
min1=min2=10000;//为min1和min2设置一个比所有权值都大的值
left=right=0;
for(k=1;k<=i-1;k++)
{
if(ht[k].parent==0)//若是根结点
//令min1和min2为最小的两个权值,left和right为权值最小的两个结点位置
if(ht[k].weight<min1)
{
min2=min1;
right=left;
min1=ht[k].weight;
left=k;
}
else if (ht[k].weight<min2)
{
min2=ht[k].weight;
right=k;
}
}
ht[left].parent=i;
ht[right].parent=i;
ht[i].weight=ht[left].weight+ht[right].weight;
ht[i].lch=left;
ht[i].rch =right;
}
}
//构造哈夫曼编码
void HuffmanCode()
{
int i,c,k,f;
HuffCode cd;
for(i=1;i<=n;i++)
{
=n;
c=i;
f=ht[i].parent;
while(f!=0)
{
if(ht[f].lch==c)
[]='0';
else
[]='1

最近更新

2024年电解液项目资金筹措计划书代可行性研究.. 67页

写人的作文400字范文大全(10篇) 10页

馒头的故事8篇 13页

第五课《自我新期待》 11页

《对旅游者进行鉴貌辨色导学案-旅游心理学》 5页

夏热冬冷地区地面冷辐射特性研究的开题报告 2页

复合顶板煤巷锚杆作用机理研究中期报告 2页

壬基酚异构体的联合雌激素效应研究的开题报告.. 2页

塑料周转箱力学性能分析及结构优化设计的开题.. 2页

基于飞秒激光微加工的光纤磁场传感器研究的开.. 2页

基于降低线损的地区电网结构优化研究的开题报.. 2页

基于进化膜计算的图像分割优化方法研究的开题.. 2页

基于财务分析视角的企业财务效率研究——以山.. 2页

基于蒙特卡洛方法的粗糙表面光散射特性研究的.. 2页

基于组分与微观结构调控的石墨态氮化碳光催化.. 2页

基于端口的分组交换技术及QoS路由研究的开题报.. 2页

基于神经网络和数学形态学的谐波检测方法研究.. 2页

基于物候差异分析的冬小麦长势监测的开题报告.. 2页

2024年年底辞职报告(通用18篇) 30页

2024年年会的邀请函模板合集七篇 6页

基于流形学习的滚动轴承早期故障识别方法研究.. 2页

2024年平凡的世界读书心得(15篇) 27页

2023年甘肃省酒泉市中考英语试卷【附参考答案.. 9页

一季度压疮分析 3页

接单员制度 5页

铝酸盐水泥水化机理 13页

学校党风廉政建设一岗双责工作新版制度 4页

梯形、矩形渠道水力计算表 3页

稀土矿工业品味与质量标准模板 7页

明人星案研究(库古合一) 55页