哈夫曼解码编码实现
哈夫曼解码编码实现
课程:《程序设计与数据结构》
班级: 1723
姓名: 彭霖
学号:20172312
实验教师:王志强
实验日期:2018年12月08日
必修/选修:必修
1.实验内容
- 设有字符集:S={a,b,c,d,e,f,g,h,i,j,k,l,m,n.o.p.q,r,s,t,u,v,w,x,y,z}。
- 给定一个包含26个英文字母的文件,统计每个字符出现的概率,根据计算的概率构造一颗哈夫曼树。
- 并完成对英文文件的编码和解码。
- 要求:
- (1)准备一个包含26个英文字母的英文文件(可以不包含标点符号等),统计各个字符的概率
- (2)构造哈夫曼树
- (3)对英文文件进行编码,输出一个编码后的文件
- (4)对编码文件进行解码,输出一个解码后的文件
- (5)撰写博客记录实验的设计和实现过程,并将源代码传到码云
- (6)把实验结果截图上传到云班课
2.实现过程体现:
-
测试类
-
- 哈夫曼树类
3.实验过程中遇到的问题和解决过程
-
问题1:最后进行解码的时候对比结果始终为false。
-
解答1:当时没有截图,后来发现是解码的结果String一开始被定义为null,而解码结果在输出时会输出一个null在结果之前(可是null不是空么,为什么会跟着输出出来?)
4.码云链接