- 问题描述 假设某文本文档只包含26个英文字母,应用哈夫曼算法对该文档进行压缩和解压缩操作,使得该文档占用较少的存储空间。
- 基本要求 ⑴ 假设文档内容从键盘输入; ⑵ 设计哈夫曼算法的存储结构; ⑶ 设计哈夫曼编码和解码算法; ⑷ 分析时间复杂度和空间复杂度。
- 设计思想 对于给定的文档,首先通过扫描确定文档中出现了哪些英文字母以及出现的次数,以出现的次数作为叶子结点的权值构造哈夫曼树,获得各字符的哈夫曼编码;然后再扫描一遍文档将其进行哈夫曼压缩编码,将文本文档转换为二进制编码输出;最后将该二进制流进行解码,并与原文档进行对照,以验证算法的正确性。哈夫曼算法的存储结构以及哈夫曼算法请参见主教材5.7.1节。 【思考题】如果对任意以文件形式存在的文本文档,如何实现应用哈夫曼算法进行压缩和解压缩?
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^