如何计算每个霍夫曼码的长度?

问题描述

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

{1,2,2}

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

解决方法

在文件底部添加:

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)