悬赏50!关于Huffman编码树!在线等!

来源:百度知道 编辑:UC知道 时间:2024/05/15 17:25:20
根据测试文件(ASCII文件),手工绘制Huffman编码树
通过编程序计算,给出编码表
通过编程序和手工计算两种方式,得到压缩编码后得到的二进制比特序列
计算平均码字长度,与未经压缩的ASCII比较,说明压缩的效果

上面这是题目,有回的吗?在考试阿,快交卷了。快啊!!!

题目中给的文件如下:
Could you drop me off at the airport?
是个文本文件。

兄弟考试过了吗? 我希望答案是肯定的。
如果现在还是不懂的话,希望看一下这个程序。

//本程序根据26个英文字母出现的频度,得到了它们的一种哈夫曼编码方案
//by jirgal 2005.4.18
#include<iostream.h>
#include<iomanip.h>
#define NUM 26 //字母数
#define TNUM 51 //
#define LTH 15 //编码最大长度

class Node
{
public:
char data;
int weight;
int parent;
int lchild;
int rchild;
};

void main()
{
char ch[NUM]={'a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','o','p','q','r','s','t','u','v','w','x','y','z'};//26个字母

int weit[NUM]={856,139,279,378,1304,289,199,528,627,13,42,
339,249,707,797,199,12,677,607,1045,249,92,149,17,199,8};//出现频率

Node nodes[TNUM]; //用对象数组存储哈夫曼树

int i,j