1631: 哈夫曼编码的解码
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:18
解决:16
题目描述
Huffman编码是一种变长的编码方案,数据的编码因其使用频率不同而长短不一。使用频率高的编码较短,使用频率低的编码较长,从而保证所有数据的编码总长最短。
请你采用Huffman编码对给定的字符串进行数据压缩。
设有“AAAABBBCDDBBAAA”字符串,根据Huffman编码方式进行编码,每个字符的编码是:
A:0
B:11
C:100
D:101
则上述字符串“AAAABBBCDDBBAAA”编码后变成:00001111111001011011111000
请你编程将给定的字符串编码成哈夫曼编码并输出。
输入
输入有多组。
每组一行,是个由大写字母构成的字符串。
输出
输出该字符串的哈夫曼编码
样例输入 复制
AAAABBBCDDBBAAA
样例输出 复制
00001111111001011011111000
提示
先统计每个字符出现的频率,依据这个频率构造哈夫曼树,然后对字母进行编码,最后输出。