.前綴碼是一編碼不是任何其它編碼前綴的編碼例如和就不是前綴碼因為編碼是編碼的前綴僅從編碼來看和 是前綴碼但因歷史的原因它不被稱為前綴碼而是把一編碼不是另一編碼前綴的編碼稱為前綴碼
利用二叉樹可以構造前綴碼例如以ABCD為葉子可構成二叉樹將左分枝解釋為右分枝解釋成從根結點到葉子結點的串就是葉子的前綴碼用哈夫曼樹可構造出最優二叉樹使編碼長度最短
.哈夫曼樹只有度為的葉子結點和度為的分枝結點設數量分別為n和n則樹的結點數n為n=n+n 另根據二叉樹性質任意二叉樹中度為的結點數n和度為的結點數n間的關系是n=n代入上式則n=n+n=n
.()T樹的最大深度Kmax=(除根外每層均是兩個結點)
T樹的最小深度Kmin=(具有個葉子的完全二叉樹是其中的一種形態)
()非葉子結點數是(n=n) ()哈夫曼樹見下圖其帶權路徑長度wpl=
.()錯誤循環結束條件top=不能滿足因為在top>情況下執行top:=top
()錯誤 ()錯誤 ()正確 ()結點的深度與其右孩子深度相同比左孩子深度少
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/22639.html