11.1    Huffman编码

Huffman设计了一个可以用来构造一种称为Huffman编码的最优前缀码的贪心算法。

11.1.1   实例

PKU JudgeOnline, 1521, Entropy.

11.1.2   问题描述

给定一组ASCII码组成的字符串,求用Huffman编码该字符串所需的长度,及采用该编码带来的压缩比。

11.1.3   输入

AAAAABCD

THE_CAT_IN_THE_HAT

END

11.1.4   输出

6413 4.9

144 51 2.8

11.1.5   分析

采用贪心算法,使用最小堆就可以实现Huffman树的构建。为了便于计算每种字符对应的码的长度,用update()维护depth数组。如果需要求出每种字符对应的编码,只需要进一步增强update()函数即可。

注意:对于只有同一种字符的字符串要特殊处理。

11.1.6   程序


本文章欢迎转载,请保留原始博客链接http://blog.csdn.net/fsdev/article

相关文章:

  • 2022-12-23
  • 2021-06-30
  • 2022-02-12
  • 2022-02-27
  • 2021-09-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案