本课题是用最优二叉树即哈夫曼树来实现哈夫曼编码译码器的功能。假设每种字符在
电文中出现的次数为 Wi,编码长度为 Li,电文中有 n 种字符,则电文编码总长度为(W1*
L1)+(W2*L2)+… +(Wi*Li)。若将此对应到二叉树上,Wi 为叶结点,Li 为根结点到叶结点
的路径长度。那么,(W1*L1)+(W2*L2)+… +(Wi*Li)恰好为二叉树上带权路径长度。
因此,设计电文总长最短的二进制前缀编码,就是以 n 种字符出现的频率作权,构造
一棵哈夫曼树,此构造过程称为哈夫曼编码。
该系统将实现以下几大功能:从硬盘读取字符串,建立哈夫曼树,输出哈夫曼树的存储
结构的初态和终态,输出各种字符出现的次数以及哈夫曼编码的译码等。