POJ 1521 Entropy(哈夫曼Huffman编码)

本文介绍了熵编码的概念,通过去除消息中的冗余信息实现无损数据压缩。以ASCII编码的英文文本为例,探讨了如何使用前缀自由可变长度编码进行更高效的数据编码。并举例说明了如何为常见字母分配不同长度的编码,从而达到压缩效果。同时,提供了POJ 1521问题的解决方案,利用最小优先队列模拟实现哈夫曼编码长度的计算,强调了当字符串中只有一种字符时的特殊情况处理。
摘要由CSDN通过智能技术生成

题目来源:http://poj.org/problem?id=1521

Entropy

Time Limit: 1000MS

 

Memory Limit: 10000K

Total Submissions: 9899

 

Accepted: 3637

Description

An entropy encoder is a data encoding method that achieves lossless data compression by encoding a message with "wasted" or "extra" information removed. In other words, entropy encoding removes information that was not necessary in the first place to accurately encode the message. A high degree of entropy implies a message with a great deal of wasted information; english text encoded in ASCII is an example of a message type that has very high entropy. Already compressed messages, such as JPEG graphics or ZIP archives, have very little entropy and do not benefit from further attempts at entropy encoding. 

English text encoded in ASCII has a high degree of entropy because all characters are encoded using the same number of bits, eight. It is a known fact that the letters E, L, N, R, S and T occur at a considerably higher frequency than do most other letters in english text. If a way could be found to encode just these letters with four bits, then the new encoding would be smaller, would contain all the origi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值