關於哈夫曼樹的問題,各位可以幫小女子看看嘛

時間 2022-03-08 15:55:13

1樓:笑菌子

這題表示哈夫曼樹的節點的度要麼是0要麼是m設度不為0(即非葉結點)的個數為x

則總的結點數為:x+n

除根結點外,其餘的每乙個結點都有乙個分支連向乙個結點,對於度為m的每個結點都有m個分支,而度為0的結點是沒有分支的,所以從分支的情況來看

總的結點數字:x*m + 1(這裡的1為根結點)兩者相等,所以答案是 (n-1) / (m-1)

2樓:匿名使用者

哈夫曼樹沒有度為1的結點,所以答案是n-1.

可能是深度為m的哈夫曼樹吧,和題目關係不大..

3樓:匿名使用者

"樹的度是指,樹中所有結點的度的總和;

而結點的度就是指結點的後繼個數;

也就是說,樹的度=結點1的度+結點2的度)+結點3的度+...+結點n的度."

反對樓上的這一段話,因為他把概念弄錯了,樹的度是所有結點的度的最大值,而不是總和,即是:

樹的度=max(結點1的度,結點2的度,結點3的度,...,結點n的度)

4樓:匿名使用者

首先,你要清楚的是,樹的度與結點的度是不同的概念!

樹的度是指,樹中所有結點的度的總和;

而結點的度就是指結點的後繼個數;

也就是說,樹的度=結點1的度+結點2的度)+結點3的度+...+結點n的度.

而我們知道葉子結點是沒有後繼的,也就是說沒有度的,而根結點是沒有前驅的,

啊...

然後呢...

我所知道就只有那麼多了,

不好意思!!!:)

有人可以幫我注釋一段關於用c語言實現哈夫曼樹的**嗎?

權值w={2.,3,5,7,9,12},畫出哈夫曼樹,並求出其帶權路徑長度

5樓:伊紅螺

哈夫曼樹見圖。用word隨便畫的,比較難看。

帶權路徑長度 (2+3)*3+(5+7+9)*2+12*1=15+42+12=69

其實你可以根據下面的直接求。

哈夫曼樹的構造

假設有n個權值,則構造出的哈夫曼樹有n個葉子結點。 n個權值分別設為 w1、w2、…、wn,則哈夫曼樹的構造規則為:

(1) 將w1、w2、…,wn看成是有n 棵樹的森林(每棵樹僅有乙個結點);

(2) 在森林中選出兩個根結點的權值最小的樹合併,作為一棵新樹的左、右子樹,且新樹的根結點權值為其左、右子樹根結點權值之和;

(3)從森林中刪除選取的兩棵樹,並將新樹加入森林;

(4)重複(2)、(3)步,直到森林中只剩一棵樹為止,該樹即為所求得的哈夫曼樹

6樓:匿名使用者

我認為應該這樣算的。

哈夫曼編碼問題,高手幫我,哈夫曼編碼問題 大神救我

createht建立哈夫曼樹的 有點問題,修改如下void createht htnode ht,int n int i,k,lnode,rnode int min1,min2 for i 0 i 2 n 1 i ht i parent ht i lchild ht i rchild 1 for i...

求助有關哈夫曼樹的問題!急!滿意的答案再加

楊嘉路 路徑和路徑長度 若在一棵樹中存在乙個結點序列k1,k2,kj 使得ki是ki 1的雙親 1 i j 則稱此結點序列是從k1到kj的路徑。從k1 kj所經過的分支數稱為這兩結點間的路徑長度。結點的權和帶權路徑長度 在許多應用中,常為樹中的結點賦上一有意義的實數,該實數稱為結點的權。結點的帶權路...

解碼系統,對文字檔案中的字元進行哈夫曼編碼,生成編碼檔案(壓縮檔案,字尾名 co

超人先生一號 我給你個差不多的,你自己修改一下就可以用了 huffman編碼和解碼 include include include include typedef struct htnode,huffmantree typedef struct huffmancode typedef struct ...