python - 如何计算每个霍夫曼码的长度?
问题描述
代码的输出看起来像这样我如何计算代码的长度让我们说我得到了霍夫曼长度 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/
解决方案
在文件底部添加:
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)
。
推荐阅读
- comments - 重置评论数
- javascript - 使用 youtube 等灰色条预加载内容
- html - 如何将按钮连接到 ruby on rails 上的数据库?
- material-design - Flutter 中的 Material Design 维度
- spss-modeler - SPSS Cloud 无法打开/创建临时文件
- c++ - 将 int32 重新解释为浮动
- python - sampled_softmax_loss 如何从 softmax 嵌入矩阵中知道要使用哪个嵌入?
- python - 合并数据框
- typescript - 如何在离子列表中添加广告横幅
- circleci - CircleCi 2.0 在子目录中使用项目