名词解释
- 霍夫曼表:由一组数据中出现的字符及其出现的频率组成。
- 霍夫曼树:由一组数据中出现的字符组成的二叉树。
核心步骤
- 将数据看成由 n 个8 bits(一个字符)组成的集合,n 为数据包含字符的总数。
- 第一次遍历数据,统计每个字符出现的频率,生成霍夫曼表,由霍夫曼表生成霍夫曼树。
- 第二次遍历数据,同时压缩数据。在霍夫曼树上遍历数据中第 m 个字符,若进入左子树,则在压缩后的缓存区最后有效 bit 置0;若进入左子树,则在压缩后的缓存区最后有效 bit 置1。到达叶子节点后,遍历数据中第 m 个字符,从根节点开始。