首页 > 解决方案 > 如何计算每个霍夫曼码的长度?

问题描述

代码的输出看起来像这样我如何计算代码的长度让我们说我得到了霍夫曼长度 1,10,11 现在我如何计算每个代码的长度以便得到{1,2,2}。我试图打印一些东西,但它只打印最后一个 (11)。

 Char | Huffman code 
----------------------
 'P_0' |           1
 'P_1' |          10
 'P_2' |          11

代码在此链接中https://www.section.io/engineering-education/huffman-coding-python/

标签: pythonhuffman-code

解决方案


在文件底部添加:

lengths = tuple(len(huffman_code[id]) for id in range(len(freq)))
print(lengths)

输出 :

Enter the string to compute Huffman Code: bar
 Char | Huffman code 
----------------------
 'b'  |           1
 'a'  |          00
 'r'  |          01
Average length of the code: 1.650000
(1, 2, 2)

我明白了(1, 2, 2)


推荐阅读