1樓:網友
呵呵 明白這個演算法是怎麼回事。
但是寫**真的很麻煩```
但是有點疑惑---你構造霍夫曼樹的時候,不是已經根據字母的出現頻率給字母排好序了麼?最後一句列印出每個字母的編碼序列,啥意思?列印啥啊。
已經把哈夫曼樹寫出來了,如何構造編碼呢
2樓:
先編造哈夫曼樹,哈夫曼樹構造規則:
假設有n個權值,則慎公升喊構造出的哈夫曼樹有n個葉子結點。 n個權值分別設為 w1、w2、…、wn,則哈夫曼樹的構造規則為:
1) 將w1、w2、…,wn看成是有n 棵樹的森林(每棵樹僅有乙個結點);
2) 在森林中選出兩個根結點的權值最小的樹合併,作為一棵新樹的左、右子樹,且新樹的根結點權值為其左、右子樹根結點權值之和;
3)從森林中刪除選取的兩棵樹,並將新樹加入森林;
4)重複(2)、(3)步,直到森林中只剩一棵樹笑御為止。
構造完成之後,從這個樹根結點開始,預設左子樹為0,右子樹寬野為1,直到葉子結點為止,葉子結點的編碼就是需要的編碼。
舉例。知字元a b c d e f的權值為8 12 5 20 4 11
哈夫曼樹就是:
f(11) b(12) 17 d(20)
a(8) 9
e(4) c(5)
編碼就是 a:100, b:01, c:1011, d: 11, e:1010 ,f:00
哈夫曼編碼樹怎麼解?
3樓:網友
先編造哈夫曼樹,哈夫曼樹構造規則:
假設有n個權值,則構造出的哈夫曼樹有n個葉子結點。 n個權值分別設為 w1、w2、…、wn,則哈夫曼樹的構造規則為:
1) 將w1、w2、…,wn看成是有n 棵樹的森林(每棵樹僅有乙個結點);
2) 在森林中選出兩個根結點的權值最小的樹合併,作為一棵新樹的左、右子樹,且新樹的根結點權值為其左、右子樹根結點權值之和;
3)從森林中刪除選取的兩棵樹,並將新樹加入森林;
4)重複(2)、(3)步,直到森林中只剩一棵樹為止。
構造的哈夫曼樹是:
c(5) 6 b(7) a( 9)
d(2) e(4)
預設左子樹為0 右子樹為1,所以對應的編碼是:
a: 11 b:10 c:00 d:010 e:011
霍夫曼編碼問題 最好用樹圖表達
4樓:夏天的小紅花
分別計算兩種情況下的編碼總長。先說霍夫曼編碼總長。根據頻度畫出它的編碼樹,然後,按照每個結點的出現頻度計算編碼長度的計權和為90。
再計算非壓縮狀態下的編碼總長度,因為有5種顏色,所以等長編碼下每種顏色的編碼長度為3個二進位位,總長度為120。具體計算方法和過程見圖。
5樓:小鋪子君
有的哦,剛剛看了一下,幫你找到了這個資源,可以點選我的簡介看下。。。
《那樹》的題目,那樹閱讀題及答案
失去了 一棵參天大樹 來遮陰避涼 然有。在大海下面bai 有一種du吃人的樹,如zhi果有人去碰它,dao它就會用樹枝把人卷版起來,分泌一種權化學物質,吸取人的養料。這種樹你可要小心,它可不是一般的樹啊!現在地球上大約有500多種吃人的樹。在高山上和地面上有吃人的樹。在非洲馬達加斯加的地方,有一種會...
由結點可以構造出多少種不同的二叉樹
30種。3個結點的二叉樹形態有5種 每種形態可以有構造二叉樹3!種 因此總共有30種不同的二叉樹。由3 個結點可以構造出多少種不同的二叉樹 5種。看一下這裡的說明 標準表示式為f n f n 1 f 0 f n 2 f 1 f n 3 f 2 f 1 f n 2 f n 1 f 0 能組成5種形態的...
施捨的樹閱讀答案,誰有《施捨的樹》的閱讀題(及答案)
從前有一棵樹,她很愛一個男孩。每天,男孩都會到樹下來,把樹的落葉拾起來,做成一個樹冠,裝成森林之王。有時候,他爬上樹去,抓住樹枝盪鞦韆,或者吃樹上結的果子。有時,他們還在一塊玩捉迷藏。要是他累了,就在樹蔭裡休息,所以,男孩也很愛這棵大樹。樹感到很幸福。日子一天天過去,男孩長大了。樹常常變得孤獨,因為...