最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

11.2赫夫曼樹(shù)

2022-01-03 22:44 作者:取悅疾風(fēng)  | 我要投稿

11.2.1基本介紹

1.????? 給定n個(gè)權(quán)值作為n個(gè)葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹(shù),若該樹(shù)的帶權(quán)路徑長(zhǎng)度(wpl)達(dá)到最小,稱(chēng)這樣的二叉樹(shù)為最優(yōu)二叉樹(shù),也稱(chēng)為哈夫曼樹(shù)(Huffman Tree)。還有的書(shū)翻譯為霍夫曼樹(shù)。

2.????? 赫夫曼樹(shù)是帶權(quán)路徑長(zhǎng)度最短的樹(shù),權(quán)值較大的結(jié)點(diǎn)離根較近

11.2.2赫夫曼樹(shù)幾個(gè)重要概念和舉例說(shuō)明

1.????? 路徑和路徑長(zhǎng)度:在一棵樹(shù)中,從一個(gè)結(jié)點(diǎn)往下可以達(dá)到的孩子或?qū)O子結(jié)點(diǎn)之間的通路,稱(chēng)為路徑。通路中分支的數(shù)目稱(chēng)為路徑長(zhǎng)度。若規(guī)定根結(jié)點(diǎn)的層數(shù)為1,則從根結(jié)點(diǎn)到第L層結(jié)點(diǎn)的路徑長(zhǎng)度為L(zhǎng)-1。

2.????? 結(jié)點(diǎn)的權(quán)及帶權(quán)路徑長(zhǎng)度:若將樹(shù)中結(jié)點(diǎn)賦給一個(gè)有著某種含義的數(shù)值,則這個(gè)數(shù)值稱(chēng)為該結(jié)點(diǎn)的權(quán)。結(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度為:從根結(jié)點(diǎn)到該結(jié)點(diǎn)之間的路徑長(zhǎng)度與該結(jié)點(diǎn)的權(quán)的乘積。

3.????? 樹(shù)的帶權(quán)路徑長(zhǎng)度:樹(shù)的帶權(quán)路徑長(zhǎng)度規(guī)定為所有葉子結(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度之和,記為WPL(weighted path length),權(quán)值越大的結(jié)點(diǎn)離根結(jié)點(diǎn)越近的二叉樹(shù)才是最優(yōu)二叉樹(shù)。

4.????? WPL最小的就是赫夫曼樹(shù)

11.2.3赫夫曼樹(shù)的創(chuàng)建思路圖解

給你一個(gè)數(shù)列{13,7,8,3,29,6,1},要求轉(zhuǎn)成一顆赫夫曼樹(shù).

思路分析(示意圖):

構(gòu)成赫夫曼樹(shù)的步驟

1.????? 從小到大進(jìn)行排序,將每一個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)都是一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可以看成是一顆最簡(jiǎn)單的二叉樹(shù)

2.????? 取出根節(jié)點(diǎn)權(quán)值最小的兩顆二叉樹(shù)

3.????? 組成一顆新的二叉樹(shù),該新的二叉樹(shù)的根節(jié)點(diǎn)的權(quán)值是前面兩顆二叉樹(shù)根節(jié)點(diǎn)權(quán)值的和

4.????? 再將這顆新的二叉樹(shù),以根節(jié)點(diǎn)的權(quán)值大小再次排序,不斷重復(fù)1-2-3-4的步驟,直到數(shù)列中,所有的數(shù)據(jù)都被處理,就得到一顆赫大曼樹(shù)

圖解

拿出最小的1和第二小的3,組成一個(gè)新的二叉樹(shù),二叉樹(shù)的根節(jié)點(diǎn)的權(quán)為2個(gè)葉子節(jié)點(diǎn)的權(quán)的和
根節(jié)點(diǎn)4再和剩下的數(shù)據(jù)里最小的值相加,生成新的根節(jié)點(diǎn),4+6=10
最終結(jié)果

11.2.4赫夫曼樹(shù)的代碼實(shí)現(xiàn)

代碼實(shí)現(xiàn)


11.2赫夫曼樹(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
安顺市| 邵武市| 阳泉市| 蒙城县| 溧水县| 冀州市| 尉氏县| 清流县| 连云港市| 孟连| 上虞市| 三原县| 闸北区| 云南省| 康马县| 白水县| 郁南县| 花垣县| 那坡县| 池州市| 正宁县| 开远市| 淳化县| 象山县| 新津县| 咸丰县| 崇阳县| 寿光市| 始兴县| 宁波市| 潮州市| 庆元县| 湖南省| 奉节县| 福鼎市| 兰考县| 乐山市| 洛扎县| 肇源县| 股票| 将乐县|