【发布时间】:2014-04-07 11:19:17
【问题描述】:
我使用Huffman encoding 压缩了binary file。现在我正在尝试查找compression efficiency。
在我的二进制文件中,我有符号(0 和 1 的一组)和频率(符号的重复)。 假设我有:
symbol :0 freq : 173
symbol :1 freq : 50
symbol :2 freq : 48
symbol :3 freq : 45
文件大小为 (173+50+48+45)*8=2528 (如果我计算大小的方法正确?如果我错了请纠正我。(调试时我得到 2536)(还有8个我不知道为什么?)
压缩后我得到encoding这样的
symbol : 0 Code : 1
symbol : 1 Code : 00
symbol : 2 Code : 011
symbol : 3 Code : 010
谁能告诉我如何使用这些信息来获得这个二进制文件的霍夫曼压缩效率? (我尝试在谷歌上搜索,但没有二进制文件的样本,它们有一些浮动类型的频率,我无法理解如何将它们与我的二进制文件相关联)。非常感谢。算法 (c/c++/c#) 也值得赞赏。
【问题讨论】:
标签: c# data-structures compression huffman-code