[英]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.