數(shù)據(jù)結(jié)構(gòu)第六章 平衡樹_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、6.5平衡二叉樹平衡二叉樹(balancedbinarytree)是對二叉搜索樹的一種改進(jìn)。二叉搜索樹有一個缺點(diǎn),那就是樹的結(jié)構(gòu)事先無法預(yù)料,隨意性很大,它只與結(jié)點(diǎn)的值和插入次序有關(guān),往往得到的是一棵很不“平衡”的二叉樹。二叉搜索樹與理想平衡樹相差越遠(yuǎn),樹的高度就越高,其運(yùn)算時間就越長,在最壞的情況下,就是對單鏈表進(jìn)行運(yùn)算的時間,其時間復(fù)雜度由O(n)變?yōu)镺(n),從而部分或2log全部地喪失了利用二叉搜索樹組織數(shù)據(jù)的優(yōu)點(diǎn)。為了克服二叉

2、搜索樹的這個缺點(diǎn),需要在插入和刪除結(jié)點(diǎn)時對樹的結(jié)構(gòu)進(jìn)行必要的調(diào)整,使二叉搜索樹始終處于一種平衡的狀態(tài),即始終成為一種平衡二叉樹(balancedbinarytree),簡稱平衡樹。當(dāng)然它不是理想平衡樹,因?yàn)槟菍⑹拐{(diào)整操作更為復(fù)雜,使調(diào)整帶來的好處得不償失。本節(jié)將首先討論平衡樹的定義和調(diào)整操作,然后討論B_樹的定義以及查找、插入和刪除等運(yùn)算。6.5.1平衡二叉樹的定義平衡二叉樹簡稱平衡樹是由阿德爾森一維爾斯基和蘭迪斯(AdelsonVel

3、skiiLis)于1962年首先提出的,所以又稱為AVL樹。平衡樹的定義是:若一棵二叉樹中每個結(jié)點(diǎn)的左、右子樹的高度至多相差1,則稱此樹為平衡樹。我們把二叉樹中每個結(jié)點(diǎn)的左子樹高度減去右子樹的高度定義為該結(jié)點(diǎn)的平衡因子(balancefact),因此,平衡樹中每個結(jié)點(diǎn)的平衡因子只能是10或1。圖76(a)是一棵平衡樹,圖76(b)和圖76(c)分別是一棵非平衡樹,每個結(jié)點(diǎn)的上方所標(biāo)數(shù)字為該結(jié)點(diǎn)的平衡因子。雖然平衡樹的平衡性比理想平衡樹要

4、差一些,但理論上已經(jīng)證明:具有n個結(jié)點(diǎn)的平衡樹的高度在任何情況下決不會比具有相同結(jié)點(diǎn)數(shù)的理想平衡樹高出45%以上。因此,在平衡樹上進(jìn)行查找運(yùn)算雖比理想平衡樹要慢一些,但通常比任意生成的二叉搜索樹快得多,當(dāng)然,其時間復(fù)雜度的數(shù)量級表示仍為O(n).2log123611511220148010232(1)LL型調(diào)整操作它是因在A結(jié)點(diǎn)的左(left)孩子(假定用B表示)的左(left)子樹上插入結(jié)點(diǎn),使得A結(jié)點(diǎn)的平衡因子由1變?yōu)?而引起的不平

5、衡所進(jìn)行的調(diào)整操作。調(diào)整過程如圖77所示,圖中用長方框表示子樹,用長方框的高度表示子樹的高度,用帶陰影的小方框表示被插入的結(jié)點(diǎn)。圖77(a)為插入前的平衡子樹,、和a?的子樹高度均為h(h0,若h=0,則它們均為空樹),A結(jié)點(diǎn)和B結(jié)點(diǎn)的平衡因??子分別為1和0。圖77(b)為在B的左子樹上插入一個新結(jié)點(diǎn),以A為根的子樹a成為最小不平衡子樹的情況。圖77(c)為調(diào)整后成為新的平衡平衡子樹的情況,調(diào)整規(guī)則是:將A的左孩子B向右旋轉(zhuǎn)代替A成為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論