早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言哈夫曼编码问题已知a、b、c、d、e、f各节点的权值分别为18、20、4、13、16、48,采用哈夫曼编码法对各节点进行编码.最好能直接运行的,谢啦.

题目详情
C语言哈夫曼编码问题
已知a、b、c、d、e、f各节点的权值分别为18、20、4、13、16、48,采用哈夫曼编码法对各节点进行编码.
最好能直接运行的,谢啦.
▼优质解答
答案和解析
我电脑里保存了类似的这样的题目,可以直接运行的:
#include
#include
#include
#include
#include
#include
#define MAXSIZE 50
//定义huffnode及huffcode,分别用来存储节点信息及各节点编码
typedef struct
{
char data; //节点值
int weight; //权值
int parent;
int left;
int right;
int flag;
}huffnode;
typedef struct
{
char code[MAXSIZE];
int start;
}huffcode;
huffnode htree[2*MAXSIZE];
huffcode hcode[MAXSIZE];
//寻找权值最小的节点
int select(int i)
{
int k=32767;
int j,q;
for(j=0;j
看了 C语言哈夫曼编码问题已知a、...的网友还看了以下: