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