[英]Is there any tree for optimal prefix code other than Huffman tree? Will the height of that be the same as that of Huffman tree?
我知道霍夫曼树是一种用于最佳前缀代码的树,但是除了霍夫曼树之外 ,是否还有其他用于最佳前缀代码的树 ? 如果有这样的树木, 它们的高度会一样吗? 非常感谢!
通过采用两个当前最低概率的符号并将其组合来递归构造霍夫曼树。
如果存在其他具有相同低概率的符号,则可以将这些符号进行组合。
这意味着最终树不是唯一定义的,并且存在多个具有不同高度的最佳前缀代码。
例如,考虑以下符号和概率:
A 1/3
B 1/3
C 1/6
D 1/6
可以编码为:
A 0
B 10
C 110
D 111
要么
A 00
B 01
C 10
D 11
两种编码的每个符号的预期位数均等于2,但高度不同。
但是,所有最佳前缀码都可以由霍夫曼算法构造,以便针对概率关系进行适当的排序选择。
在霍夫曼编码问题的约束内,即每个符号由唯一前缀的比特序列表示,那么恰好可以实现一个最优的总比特数,霍夫曼算法可以实现这一点。 还有其他方法可以得出相同的答案。
正如Peter de Rivaz所指出的那样,在某些特殊情况下,霍夫曼算法在某些步骤中有多个选择,可以选择两种最小概率的代码集,这可能会导致不同的树。 因此,您提到的树的高度/深度不是唯一的,但是总位数(每个符号的位长之和乘以其概率加权)始终是相同的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.