【发布时间】:2012-05-24 05:17:11
【问题描述】:
我正在阅读 Huffman Coding Algorithm 来对字符串进行编码。我可以看到制作一棵树时考虑了字符的频率。
这是频率表:
a b d e f h i k n o r s t u v
5 1 3 7 3 1 1 1 4 1 5 1 2 1 1 9
*space has frequency 9
我可以看到有一棵树是用这个做的。但我无法推导出如何在树中放置元素的规则。
书上说所有频率较高的字符都应该靠近词根。但是如果两个以上的字符频率相同,那么它们必须位于词根的不同侧。
问题是,我们如何决定位置?
在我的书中a 有代码010,r 有011 和e 有代码100。
有人可以帮忙吗?
【问题讨论】:
标签: java algorithm compression huffman-code