霍夫曼算法中二进制编码的长度?
Length of binary encoding in Huffman algorithm?
使用霍夫曼编码时出现的最长二进制编码的长度是多少
权重为 10、10、10、10、15、15、50 的算法?
有没有一种快速的方法可以做到这一点,还是我必须构建树然后计算平均位数,我猜应该是:
=总长度/位数
这是我生成的树:
使用霍夫曼算法时出现的最长二进制编码的长度等于树的高度,在本例中为4。因此最长长度为4。
很容易看出,当你将0分配给左分支,将1分配给右分支(也可以反过来)时,代码为:
50: 0
10: 1000
10: 1001
10: 1010
10: 1011
15: 110
15: 111
使用霍夫曼编码时出现的最长二进制编码的长度是多少 权重为 10、10、10、10、15、15、50 的算法?
有没有一种快速的方法可以做到这一点,还是我必须构建树然后计算平均位数,我猜应该是:
=总长度/位数
这是我生成的树:
使用霍夫曼算法时出现的最长二进制编码的长度等于树的高度,在本例中为4。因此最长长度为4。
很容易看出,当你将0分配给左分支,将1分配给右分支(也可以反过来)时,代码为:
50: 0
10: 1000
10: 1001
10: 1010
10: 1011
15: 110
15: 111