⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实验6.txt

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -