1)实现最小堆模板类;2)利用最小堆构造Huffman树3)实....pptVIP

  • 2
  • 0
  • 约1.12千字
  • 约 4页
  • 2019-09-27 发布于湖北
  • 举报

1)实现最小堆模板类;2)利用最小堆构造Huffman树3)实....ppt

实验5 一、键盘输入屏幕输出要求: (1)根据用户从键盘输入一串报文文本,输出各字符的Huffman编码; (2)输出报文的Huffman编码及长度; (3)根据输入的Huffman编码,解码输出。 (4) 例子: a)键盘输入:CASTCASTSATATATASA b)输出各字符的Huffman编码: A:0 T:10 S:110 C:111 c)输出报文的Huffman编码及长度: 报文:11101101011101101011001001001001100 长度:35 d)输出上述报文的解码: CASTCASTSATATATASA e)输入的Huffman编码: 0111010110110 f)输出解码:ACATSS 二、文件压缩的输入输出要求 (1)读入将要压缩的文件“实验5.ppt”,统计文件中出现的ASCII字符的频率; (2)构造相应的Huffman树,并由此获得编码方案; (3)对文件“实验5.ppt”进行编码并以文件名“实验5.HFM”保存到磁盘上; (4)在屏幕上显示压缩率(%) =压缩后的文件大小/原文件大小*100; (5)实现对压缩文件“实验5.HFM”的解压。 文件输入输出要求的提示和注意 将编码当作二进制位来用,如:编码001是三个二进制位,而不是占用3个8位的字符; 将文件编码时,应将它的二进制编码拼成8位一个字节存盘; 压缩文件中应保存其最后一个字节的有效位数(可保存在文件的第一个字节中或最后一个字节中,或其他确定的位置); 为了解压,压缩文件中应保存Huffman编码方案,其存放格式自定。为简便,建议用多个字节一段存放一个二进制字符及其编码:第一段的第一个字节存放二进制字符,第二个字节存放编码长度(占用位数),第三个字节开始存放编码;后面的段类似。 * 1)实现最小堆模板类; 2)利用最小堆构造Huffman树 3)实现Huffman编码和解码 4)根据用户从键盘输入的报文文本,输出各字符的Huffman编码以及报文的编码; 5)利用该编码和解码实现对二进制文件的压缩和解压。 实验要求在12月14日晚上12:00前交 *

文档评论(0)

1亿VIP精品文档

相关文档