《数据结构》实验参考代码
实验三:实现对二叉树的一个指定的操作或用二叉树解决一应用
问题
问题描述:对任意输入的一段英文,为每个字符编制其相应的赫
夫曼编码;并利用该编码为任意输入的 0、1 序列进展解码.
根本要求:一个完整的系统应具有以下功能:
〔1〕初始化 从终端读入一段英文字符,统计每个字符出现的
频率,建立赫夫曼树,并将该树存入某文件;
〔2〕编码 利用建好的赫夫曼树对各字符进展编码,用列表的
形式显示在屏幕上,并将编码结果存入另一文件中;
〔3〕解码 利用保存的赫夫曼编码,对任意输入的 0,1 序列能
正确解码;
#include<iostream>
using namespace std;
#include<string>
#include<fstream>
int *w;
typedef struct
{
unsigned int weight;
unsigned int parent,lchild,rchild;
}HTNode,*HuffmanTree;
typedef char **HuffmanCode;
void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n);
void Select(HuffmanTree &HT,int i,int &s1,int &s2);
int min(HuffmanTree &HT,int i);
int second(HuffmanTree &HT,int s1,int i);
评论0
最新资源