构建Huffman Tree来压缩数据
2016-06-28
喝牛奶的鸵鸟
Huffman Tree
的主要应用在数据压缩和通信等方面,权重高(出现次数多)的字符靠近根节点,权重低的字符远离根节点,这样编码为可变字长。
代码:
运行:
如果文件中存在大量重复的字符效果很明显,由于Python运行效率低,所以压缩1M左右的文件作为演示,要想压缩大文件那慢的不得了,不过构建Huffman树还是很快的,这不是问题完全可以用C重写,方法是一样的。
Huffman Tree
的主要应用在数据压缩和通信等方面,权重高(出现次数多)的字符靠近根节点,权重低的字符远离根节点,这样编码为可变字长。
如果文件中存在大量重复的字符效果很明显,由于Python运行效率低,所以压缩1M左右的文件作为演示,要想压缩大文件那慢的不得了,不过构建Huffman树还是很快的,这不是问题完全可以用C重写,方法是一样的。