簡體   English   中英

霍夫曼二叉樹必須是正確的嗎?

[英]Does a Huffman Binary Tree have to be proper?

我能找到的所有霍夫曼編碼的例子都有偶數個字符可供使用。 如果它是奇數個字符,那么添加到樹的最后一個內部節點是否只有一個子節點? 或者我是否必須添加某種類型的NULL節點,以便所有內部節點都有2個子節點?

如果它是后者,它似乎令人困惑,因為我不確定如何為char設置NULL值(因為所有值都被用作有效的ASCII代碼)。

奇數個char沒問題。 但這不會導致只有一個孩子的內部節點。

  /\
 /  \
a    ×
    / \
   b   c

構造樹的方式確保所有內部節點都有兩個子節點,無論有多少個char

一個以葉子列表開始,然后在每個步驟中,(兩個)具有最低頻率的樹通過使它們成為左邊的連接來連接。 一個新的 - 然后是內部 - 節點的右子樹,直到只剩下一棵樹。 最終結果中的每個內部節點都來自加入兩個子樹,因此有兩個子節點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM