我一直在阅读这个算法,我理解构建树,以及在树过程结束时输出应该是什么。所有示例都是文本文件,但对于其他类型的文件,您需要将其作为二进制文件读取吗?如果你这样做,你如何选择一个符号的位数?霍夫曼的算法适用于任何类型的文件?如果我不应该关注哪种类型的文件?
我是这个主题的新手,所以我希望有人可以为我清理一下。
答案 0 :(得分:0)
您可以选择每个符号应包含多少位,并且您选择的位数将影响您根据所压缩数据的结构而变化的压缩量。根据H F Smith(1987) Data Structures:Form and Function ,pp.399-400,例如:
......除非我们这样做,否则这种方法的净节省可能不会很大 处理一些相当少的消息集合 比其他人更有可能。通常可以获得一个 改进的冗余压缩[通过霍夫曼编码] 考虑消息字符串的较大部分而不仅仅是个人 符号。