实验3 Huffman编码和解码

回到上一页

实验时间:6课时

实验目的

1. 掌握二叉树的存储结构和常用算法。

2. 熟练掌握递归程序设计方法。

问题描述

Huffman编码是二叉树的典型应用之一。

给定一个文本文件stdio.h,对其进行编码和解码,计算压缩比,从而了解数据压缩的基本原理。

实验内容

1. 对文本文件统计各个字符的出现频率,构造Huffman树。

2. 以Huffman树对文本文件进行编码,统计编码后的比特数,除以8得到字节数。用原文件的大小(字节数)除以编码后的字节数,即求得压缩比。

3. 将编码后的比特流再进行解码,写入一个新的文本文件,与原文件比较,是否完全一致?比较文件可使用Windows命令行工具fc。

实验3 示例代码


	

原代码下载

3.cpp

stdio.h

decoded.txt

encoded.bin