串 01 编码进行处理,最终将处理完的编码信息和解码所需的字符
与其唯一的 01 编码信息存入同一个文件,当然怎么存是根据写程
序的人打算如何解压来决定的,如果不知道存入信息的顺序,即使
拿到压缩文件也很难解压。
前面还有两个问题没有解决:1、如何根据哈夫曼二叉树对字符进行
编码,2、如何对比原字符串还要长的 01 编码进行处理。请看下图:
假设一串字符里面不重复的字符仅有:a,b,c,d,e,且各个字符出现的
次数(权重)为:1,3,5,6,12,那么按照权重建立哈夫曼二叉树,
就得到每一个字符的唯一位置,下面对字符进行编码:从根节点开
始 , 编 码 String code=”“; 往 左 就 code+=’0’, 往 右 就
code+=’1’;这样直到找到对应的字符,停止编码并得到唯一的 01