6.6.1最优二叉树(赫夫曼树)
首先我們來看一個偽代碼。這個是代表成績的等級。
然后我們知道,每一次高考,學生的成績分布應(yīng)該接近某個比例,現(xiàn)在我們假如分別規(guī)律如下:
為此可以作出下面的這個樹。
我們發(fā)現(xiàn),概率分布主要是在70-79,80-89之間,如果有很多數(shù)據(jù)要比較,那么就要從60分開始比較,然后,分布最多的確是70-79,80-89的人,所以我們可以把樹話成這樣
現(xiàn)在先介紹幾個概念:
路徑長度:從樹中一個結(jié)點到另一個結(jié)點之間的分支構(gòu)成這兩個結(jié)點的路徑,路徑上的分支數(shù)目叫路徑長度。
樹的路徑長度:根結(jié)點到每個結(jié)點的路徑長度和。
WPL(weight path length):樹中所有葉子結(jié)點的帶權(quán)路徑之和。
比如上面那兩個圖,我們把他權(quán)重標號。如下圖所示(為了方便,我們擴大10倍,避免小數(shù)點)
現(xiàn)在來看看WPL
WPL1=5*3+15*3+40*2+30*2+10*2=220
WPL2=5*1+15*+40*3+30*4+10*4=315。
現(xiàn)在給出一個概念:帶權(quán)路徑長度WPL最小的二叉樹叫最優(yōu)二叉樹或赫夫曼樹。
下面給出最優(yōu)二叉樹或赫夫曼樹的畫法。
規(guī)則如下:
1.在森林中選出兩顆根結(jié)點的權(quán)值最小的二叉樹。
2.合并兩顆,增加一個新結(jié)點作為新二叉樹的根,全職為左右孩子的權(quán)重之和。
3.再從未選中的結(jié)點中選擇,小的放左邊,大的放右邊,然后重復(fù),一直到結(jié)點沒有了為止。
如下圖所示:
總結(jié)
以上是生活随笔為你收集整理的6.6.1最优二叉树(赫夫曼树)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言设计匀速直线运动,C语言课程设计指
- 下一篇: 喀什大学计算机科学与技术学院在哪个校区,