繁体   English   中英

霍夫曼编码和霍夫曼树

[英]Huffman Coding and Huffman Tree

我正在学习霍夫曼编码并试图找到以下答案:

  1. 霍夫曼树可以成为列表吗? 如果是,那么在哪种情况下? 如果不是,那为什么?
  2. 在霍夫曼编码中,是否有可能恰好有两个码字长度最长的符号? 如果是,那么在哪种情况下?

霍夫曼树可以成为列表吗? 如果是,那么在哪种情况下? 如果不是,那为什么?

好吧,不完全是一个列表,但它可以是一棵树,其中所有左子节点都是叶子,唯一的右节点叶子将位于最深的节点上。 当一个符号的概率高于所有其他节点的总和时,就会发生这种情况,然后在下一级,最有可能的节点高于 rest 的总和,依此类推,如下例所示:

   -
  / \
0.5  -
    / \
 0.25  -
      / \
    .10  -
        /  \
       .2  .1

(这仅显示概率,而不是相应的符号,这对于本次讨论是任意的)

当然,如果要让 256 个符号树发生这种情况,最常见符号的人口数量需要非常大。

在霍夫曼编码中,是否有可能恰好有两个码字长度最长的符号? 如果是,那么在哪种情况下?

当然——事实上这正是从上面的树中发生的事情:

   -
  / \
 0   - (1 - non-leaf)
    / \
 10    - (11 - non-leaf)
      / \
    110  - (111 - non-leaf)
        /  \
      1110  1111

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM