二叉樹在計算機科學中,二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作“左子樹”(left subtree)和“右子樹”(right subtree)。二叉樹常被用作二叉查找樹和二叉堆。二叉...
設一棵二叉樹中有3個葉子結點,有8個度為1的結點,則該二叉樹中總的結點數為() A12 B13 C14 D15
因為葉子節(jié)點與度為2的結點的關系是:n0=n2+1;因為 n0=3,所以 n2=2;總的結點數:n=n0+n1+n2=3+8+2=13希望能幫助你
方法如下:
格式:pdf
大小:71KB
頁數: 4頁
評分: 4.8
分層模式在軟件開發(fā)中有著廣泛的應用,必然使各層之間產生頻繁的數據交互,從而導致軟件性能大大下降。針對上述問題,本文提出一種基于有序二叉樹的變量池的解決方案,軟件的配置信息以及各層之間的交互數據保存在變量池中,對變量的所有操作都基于變量池,通過變量池的使用,既方便了各層之間數據交互,也簡化了各層之間的接口設計。基于該方案,本文最后實現了一個銀行自助終端系統(tǒng)。
格式:pdf
大小:71KB
頁數: 5頁
評分: 4.7
高速公路項目投資價值評價是一個非常復雜的問題,而傳統(tǒng)的評價方法大多依賴于對未來變量的估計,而這種估計大多具有模糊性。針對高速公路項目投資的特點,深入分析高速公路項目評價中的不確定性因素,利用模糊數表示未來收入的上升和下降幅度,進而建立模糊二叉樹模型。實證分析表明投資者可以通過不斷調整高速公路未來收入變化的模糊數的左右邊界等變量,逐步調整其對未來收入的變化預期,從而合理估計高速公路投資項目的價值。
是程序算法中的一種算法模式。
在二叉樹中出現空的子樹(包括樹葉)上增加空的樹葉,使其成為滿二叉樹的二叉樹稱之為擴充二叉樹。
最優(yōu)二叉樹算法基本概念
最優(yōu)二叉樹,也稱哈夫曼(Haffman)樹,是指對于一組帶有確定權值的葉結點,構造的具有最小帶權路徑長度的二叉樹。
那么什么是二叉樹的帶權路徑長度呢?
在前面我們介紹過路徑和結點的路徑長度的概念,而二叉樹的路徑長度則是指由根結點到所有葉結點的路徑長度之和。如果二叉樹中的葉結點都具有一定的權值,則可將這一概念加以推廣。設二叉樹具有n個帶權值的葉結點,那么從根結點到各個葉結點的路徑長度與相應結點權值的乘積之和叫做二叉樹的帶權路徑長度,記為:
WPL= Wk·Lk
其中Wk為第k個葉結點的權值,Lk 為第k個葉結點的路徑長度。如圖7.2所示的二叉樹,它的帶權路徑長度值WPL=2×2+4×2+5×2+3×2=28。
在給定一組具有確定權值的葉結點,可以構造出不同的帶權二叉樹。例如,給出4個葉結點,設其權值分別為1,3,5,7,我們可以構造出形狀不同的多個二叉樹。這些形狀不同的二叉樹的帶權路徑長度將各不相同。圖7.3給出了其中5個不同形狀的二叉樹。
這五棵樹的帶權路徑長度分別為:
(a)WPL=1×2+3×2+5×2+7×2=32
(b)WPL=1×3+3×3+5×2+7×1=29
(c)WPL=1×2+3×3+5×3+7×1=33
(d)WPL=7×3+5×3+3×2+1×1=43
(e)WPL=7×1+5×2+3×3+1×3=29
最優(yōu)二叉樹算法
最優(yōu)二叉樹算法
由此可見,由相同權值的一組葉子結點所構成的二叉樹有不同的形態(tài)和不同的帶權路徑長度,那么如何找到帶權路徑長度最小的二叉樹(即哈夫曼樹)呢?根據哈夫曼樹的定義,一棵二叉樹要使其WPL值最小,必須使權值越大的葉結點越靠近根結點,而權值越小的葉結點越遠離根結點。
哈夫曼(Haffman)依據這一特點于1952年提出了一種方法,這種方法的基本思想是:
(1)由給定的n個權值{W1,W2,…,Wn}構造n棵只有一個葉結點的二叉樹,從而得到一個二叉樹的集合F={T1,T2,…,Tn};
(2)在F中選取根結點的權值最小和次小的兩棵二叉樹作為左、右子樹構造一棵新的二叉樹,這棵新的二叉樹根結點的權值為其左、右子樹根結點權值之和;
(3)在集合F中刪除作為左、右子樹的兩棵二叉樹,并將新建立的二叉樹加入到集合F中;
(4)重復(2)(3)兩步,當F中只剩下一棵二叉樹時,這棵二叉樹便是所要建立的哈夫曼樹。
1
/ \
2 3
\ /
4 5 是均衡二叉樹,因為它去掉葉結點及相應的樹枝后,
變成了:
1
/ \
2 3 ,這是一個二叉樹。
1
/ \
2 3
而 \ / \ 則不是,因為它去掉葉結點及相應的樹枝后,
4 5 6
/
7
變成了:
1
/ \
2 3
\
4
很顯然,這并不是一個完全二叉樹。