一、实验题目
用哈夫曼编码实现文件压缩
了解文件的概念
掌握线性链表的插入、删除等算法
掌握Huffman树的概念及构造方法
掌握二叉树的存储结构及遍历算法
利用Huffman树及Huffman编码,掌握实现文件压缩的一般原理
微型计算机
Windows 系列操作系统
Visual C++6.0软件
根据ascii码文件中各ascii字符出现的频率情况创建Haffman树,再将各字符对应的哈夫曼编码写入文件中,实现文件压缩。
构造Huffman树步骤:
根据给定的n个权值{w1,w2,……wn},构造n棵只有根结点的二叉树,令起权值为wj
在森林中选取两棵根结点权值最小的树作左右子树,构造一棵新的二叉树,置新二叉树根结点权值为其左右子树根结点权值之和
在森林中删除这两棵树,同时将新得到的二叉树加入森林中
重复上述两步,直到只含一棵树为止,这棵树即哈夫曼树