
Huffman Encode
哈夫曼码是一种特定类型的最优前缀码,常用于无损数据压缩。 该算法由 David A. Huffman 在麻省理工学院攻读博士学位时开发,并于 1952 年发表。
哈夫曼算法的输出可以看作是对源符号进行编码的变长码表。 该算法从源符号的每个可能值的估计概率或出现频率(权重)推导出这个表。 与其他熵编码方法一样,较常见的符号通常比不常见的符号使用较少的比特来表示。
最简单的构建算法使用优先级队列,其中频率最低的节点被赋予最高优先级。
- 为每个符号创建一个叶节点,并将其添加到优先级队列中。
- 当队列中有多个节点时:
- 从队列中删除两个优先级最高(频率最低)的节点。
- 创建一个新的内部节点,将这两个节点作为子节点,其频率等于这两个节点的频率之和。...
You should be an authorized user in order to see the full description and start solving this mission.