回覆列表
  • 1 # 小紅的甜心

    樹和二叉樹:

    二叉樹是樹的一種,還可以有三叉樹、四叉樹、……,以及混合叉樹。

    Huffman樹是一類帶權路徑長度最短的二叉樹,在哈夫曼樹中,權值越大的結點離根結點越近。

    假設有n個權值,則構造出的哈夫曼樹有n個葉子結點。 n個權值分別設為 w1、w2、…、wn,則哈夫曼樹的構造規則為:   

    (1) 將w1、w2、…,wn看成是有n 棵樹的森林(每棵樹僅有一個結點);   

    (2) 在森林中選出兩個根結點的權值最小的樹合併,作為一棵新樹的左、右子樹,且新樹的根結點權值為其左、右子樹根結點權值之和;   

    (4)重複(2)、(3)步,直到森林中只剩一棵樹為止,該樹即為所求得的哈夫曼樹。

    Huffman樹編碼:以根為出發點,依次向下走到各個葉子結點為止。往下走時,選擇走哈夫曼樹的左分支生成0,走右分支則生成程式碼1,根結點到葉子結點路徑上的0、1序列即為相應字元的編碼。

    這樣講可能有點抽象,你可以找本書,結合書上的圖來看會更清楚一點。

  • 中秋節和大豐收的關聯?
  • 屬雞的93年人農曆臘月二十生日是什麼星座?