哈夫曼解码编码实现

哈夫曼解码编码实现

课程:《程序设计与数据结构》
班级: 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.码云链接

 

posted @ 2018-12-12 21:50  Silver银色  阅读(419)  评论(0编辑  收藏  举报