哈夫曼的构造过程
哈夫曼樹
哈夫曼構造過程(其實就是4個步驟)
我們先給定前提:給定N個權值分別為w1, w2, …, Wn的節點。
算法定義如下:
解釋每一個步驟:
其實只要理解2、3步驟的過程,就可以明白整個哈夫曼構造過程了。
一個實例:
前提:如圖{7,5,2,4}分別對應{a,b,c,d},下面我們設F= { a=7 , b=5 , c=2 , d=4 }來描述構造。
第一步:F= { a=7 , b=5 , c=2 , d=4 }
第二步:從F中選2個元素,分別是最小c=2和次小d=4的;并且得到一個新的元素,這里設新的元素為new1。
第三步:由于需要將兩者相加,所以new1 = c+d = 6;然后將new1添加到F中,并且將c和d從F中刪除。得到F = {a=7 , b=5 , new1=6}。
第四步:由于元素數量不為1,所以重復第二步的過程。
那我們進入第二步的構造過程:選出 b 和 new1,設新元素為new2。
第三步構造過程:new2 = b + new1,F={a = 7, new2 = 11}
第四步:元素數量不為1,再進入第二步。
第二步:選出 a 和 new2,設新元素為new3。
第三步構造過程:new2 = b + new1,F={new3 = 18}。
第四步:此時元素數量為1,構造完畢。
總結
- 上一篇: 需求分析三层境界,你到哪层了?
- 下一篇: B端训练-明日开启