无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

一天一個(gè)數(shù)據(jù)結(jié)構(gòu)知識(shí)——哈夫曼樹

2023-08-27 15:48 作者:一天三只皮卡丘  | 我要投稿

????????在了解哈夫曼樹之前我們要了解三個(gè)概念:結(jié)點(diǎn)的權(quán)值,結(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度,樹的帶權(quán)路徑長(zhǎng)度。節(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度就是結(jié)點(diǎn)的權(quán)值乘以路徑長(zhǎng)度;樹的帶權(quán)路徑長(zhǎng)度就是樹的所有葉結(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度之和。而哈夫曼樹就是帶權(quán)路徑長(zhǎng)度最小的樹,也叫做最優(yōu)二叉樹。

????????那么怎么構(gòu)造哈夫曼樹呢?首先在所有節(jié)點(diǎn)中選擇兩個(gè)權(quán)值最小的節(jié)點(diǎn),作為兄弟節(jié)點(diǎn),這兩個(gè)節(jié)點(diǎn)的權(quán)值之和就是他們根節(jié)點(diǎn)的權(quán)值,然后再在所有節(jié)點(diǎn)中選擇兩個(gè)根節(jié)點(diǎn)最小的樹作為兄弟節(jié)點(diǎn)以此類推。通過這樣的方法,可以保證該樹有一下幾個(gè)性質(zhì):首先初始的幾個(gè)節(jié)點(diǎn)都將成為樹的葉結(jié)點(diǎn),節(jié)點(diǎn)的權(quán)值越小,其距離根節(jié)點(diǎn)的距離越遠(yuǎn)。并且哈夫曼樹的節(jié)點(diǎn)總數(shù)為2n-1。

????????哈夫曼樹的誕生使得哈夫曼編碼應(yīng)運(yùn)而生,如果我們用0/1來表示數(shù)據(jù),那么通過哈夫曼編碼,可以使權(quán)值高的數(shù)據(jù)用較少的字節(jié)表示出來,這就是可變長(zhǎng)度編碼。并且哈夫曼編碼可以有效避免解碼時(shí)產(chǎn)生的歧義,因?yàn)楣蚵幋a是一種前綴編碼,也就是沒有一個(gè)編碼是另一個(gè)編碼的前綴。這樣哈夫曼樹的帶權(quán)路徑長(zhǎng)度就變成哈夫曼編碼的傳輸字節(jié)數(shù)(葉子節(jié)點(diǎn)的權(quán)值就是要傳輸字符集中字符的頻度)。我們熟悉的摩爾斯電碼也體現(xiàn)出哈夫曼編碼思想,在英文中出現(xiàn)頻率越高的字母摩斯電碼越簡(jiǎn)單,現(xiàn)如今哈夫曼編碼已經(jīng)廣泛應(yīng)用于數(shù)據(jù)壓縮。

一天一個(gè)數(shù)據(jù)結(jié)構(gòu)知識(shí)——哈夫曼樹的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永清县| 榆社县| 株洲市| 余姚市| 怀安县| 郸城县| 天峨县| 德格县| 霸州市| 宝山区| 诸暨市| 靖江市| 永吉县| 正镶白旗| 鸡东县| 卢龙县| 大埔区| 云梦县| 沂南县| 马山县| 古田县| 桐城市| 忻州市| 同德县| 龙里县| 常宁市| 高要市| 闵行区| 封开县| 金昌市| 西华县| 松潘县| 霞浦县| 邵阳县| 临海市| 伊宁县| 新乡市| 张掖市| 临夏县| 鄂州市| 故城县|