帶權(quán)路徑長度
- 路徑長度:路徑上所經(jīng)歷的邊的個數(shù)
- 結(jié)點的權(quán):結(jié)點被賦予的數(shù)值
樹的帶權(quán)路徑長度: 樹中所有葉節(jié)點的帶權(quán)路徑之和
公式及計算如下
哈夫曼樹:也成為最優(yōu)二叉樹,就是含n的帶權(quán)葉子結(jié)點的樹之中帶權(quán)路徑長度最小的二叉樹。在上面的兩個樹中第二棵樹就是一顆哈夫曼樹。
構(gòu)造哈夫曼樹,只需按照步驟一步一步來即可
哈夫曼樹在構(gòu)造的時候沒有規(guī)定左右子樹,所以其不唯一
哈夫曼樹的構(gòu)造方法
哈夫曼樹的性質(zhì)
哈夫曼樹的應(yīng)用
編碼:對于一個字符串序列,用二進(jìn)制數(shù)來表示每一個字符
固定長度編碼
可變長度編碼,因為會產(chǎn)生歧義,不可應(yīng)用
使用哈夫曼樹構(gòu)造的過程如下
字母對應(yīng)的數(shù)字是指字母出現(xiàn)的次數(shù)
按照規(guī)則構(gòu)造出來的哈夫曼樹,左0,右1
這樣構(gòu)造出來的編碼不會產(chǎn)生歧義,且長度變短了