#include<stdio.h>
#include<conio.h>
#define MAXVALUE 10000
#define MAXLEAF 30
#define MAXNODE MAXLEAF*2-1
#define MAXBIT 50
typedef struct node{
char letter;
int weight;
int parent;
int lchild;
int rchild;
}HNodeType;
typedef struct {
char letter;
int bit[MAXBIT];
int start;
}HCodeType;
typedef struct {
char s;
int num;
}Bowen;
/*哈夫曼树的构造算法*/
void HuffmanTree(HNodeType HuffNode[],int n,Bowen a[])
{
int i,j,m1,m2,x1,x2,temp1;char temp2;
for(i=0;i<2*n-1;i++)
{
HuffNode[i].letter=NULL;
HuffNode[i].weight=0;
HuffNode[i].parent=-1;
HuffNode[i].lchild=-1;
HuffNode[i].rchild=-1;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n-1;j++)
if(a[j].num>a[i].num)
{
temp1=a[i].num;a[i].num=a[j].num;a[j].num=temp1;
temp2=a[i].s;a[i].s=a[j].s;a[j].s=temp2;}
for(i=0;i<n;i&#
哈夫曼树编码与译码解码运用
最新推荐文章于 2024-08-11 20:18:31 发布
本文深入探讨了哈夫曼树的构造过程及其在数据编码中的应用。通过贪心策略构建最优二叉树,实现高效的数据压缩。详细阐述了编码与解码的步骤,并提供了实际操作示例,有助于理解哈夫曼编码在信息传输和存储中的作用。
摘要由CSDN通过智能技术生成