卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

哈夫曼樹編碼怎么寫 怎樣求哈夫曼樹的平均編碼長(zhǎng)?怎樣求哈夫曼樹?

怎樣求哈夫曼樹的平均編碼長(zhǎng)?怎樣求哈夫曼樹?假設(shè)用于通信2113的消息由字符集{a、B、C、D、e、F、G、H}中的5261個(gè)字母組成,消息中出現(xiàn)這八個(gè)字母的概率為4102,即{0.07、0.19、0

怎樣求哈夫曼樹的平均編碼長(zhǎng)?怎樣求哈夫曼樹?

假設(shè)用于通信2113的消息由字符集{a、B、C、D、e、F、G、H}中的5261個(gè)字母組成,消息中出現(xiàn)這八個(gè)字母的概率為4102,即{0.07、0.19、0.02、0.06、0.32、0.03、0.21、0.10}。哈夫曼碼1653可以從上面的編碼表中得到:A:1001 B:01 C:10111 D:1010 e:11 F:10110 G:00 h:1000,三位二進(jìn)制等長(zhǎng)編碼的平均長(zhǎng)度為3,哈夫曼樹編碼的平均長(zhǎng)度為4*0.07 2*0.19 5*0.02 4*0.06 2*0.32 5*0.03 2*0.21 4*0.10=2.61 2.61/3=0.87%,平均碼長(zhǎng)為等長(zhǎng)碼的87%,平均壓縮比為13%。由于定長(zhǎng)碼已經(jīng)使用了相同的位數(shù),這個(gè)條件保證了任何字符的碼都不會(huì)成為其他碼的前綴,所以這種情況只發(fā)生在變長(zhǎng)碼中,我們必須用一個(gè)條件來制作常規(guī)長(zhǎng)度碼。這個(gè)條件是,如果我們想成為壓縮碼,可變長(zhǎng)度的代碼必須是前綴碼。所謂前綴碼,是指任何一個(gè)字符的編碼不能是另一個(gè)字符編碼的前綴。

怎樣求哈夫曼樹的平均編碼長(zhǎng)度?

創(chuàng)建一個(gè)結(jié)構(gòu)數(shù)組,每個(gè)成員都有一個(gè)指向結(jié)構(gòu)的指針,左,右,權(quán)重值。隨機(jī)初始化值。將每個(gè)節(jié)點(diǎn)的左側(cè)和右側(cè)設(shè)置為null。從陣列中隨機(jī)選取三個(gè)節(jié)點(diǎn),讓其中一個(gè)節(jié)點(diǎn)的左右兩側(cè)分別指向另外兩個(gè)節(jié)點(diǎn)。等等。(節(jié)點(diǎn)是否被使用,要自己判斷,頂點(diǎn)也要自己記住。數(shù)組應(yīng)該是奇數(shù)(有一個(gè)結(jié)束節(jié)點(diǎn),需要2N-1個(gè)節(jié)點(diǎn))。用指針查找路徑的長(zhǎng)度,從節(jié)點(diǎn)開始,直到指針為空。