什么叫理想平衡二叉樹 平衡二叉樹是不是必須左小右大

appeal2022-11-21 08:02:071832

平衡二叉樹怎么理解???平衡二叉樹定義,什么是“理想平衡二叉樹?平衡二叉樹是什么?能通俗地說一下并舉例子嗎?什么叫做平衡二叉樹?平衡二叉樹是什么?

本文導(dǎo)航

二叉樹深度是怎么算的

這要涉及到滿二叉樹與完全二叉樹的問題

滿二叉樹是將一個(gè)n層二叉樹完全排滿的二叉樹,第n層有2^n個(gè)元素;

n層完全二叉樹是將n層滿二叉樹最后一層從后向前依次去處少于2^n個(gè)元素;

完全二叉樹是平衡二叉樹的一個(gè)特例,平衡二叉樹是將完全二叉樹的最后一層元素任意排在空位上的一種二叉樹。

如下圖所示,左為滿二叉樹,右為完全二叉樹:

平衡二叉樹的調(diào)整方法

所謂平衡二叉樹是指樹中任一結(jié)點(diǎn)的左、右子樹高度大致相同。平衡二叉樹有很多種最著名的是由前蘇聯(lián)數(shù)學(xué)家Adelse—Velskil和Landis在1962年提出的,稱為AVL樹。平衡二叉樹(AVL樹)定義如下:平衡二叉樹或者是一棵空樹,或者是具有以下性質(zhì)的二叉排序樹:(1)它的左子樹和右子樹的高度之差絕對(duì)值不超過1;(2)它的左子樹和右子樹都是平衡二叉樹。

平衡二叉樹構(gòu)建圖解

理想二叉樹是一種特殊的滿二叉樹,其所有葉結(jié)點(diǎn)均在同一高度或者同一深度,也即一棵深度(高度)為h且有 2^h-1個(gè)結(jié)點(diǎn)的二叉樹。

如何構(gòu)造平衡二叉樹

簡單說就是平衡二叉排序樹,也就是首先是二叉排序樹,然后還是平衡的??梢赃@樣理解

它要么是一 棵空樹,要么是它的左右兩個(gè)子樹的高度差的絕對(duì)值不超過1,并且左右兩個(gè)子樹都是一棵平衡二叉樹

平衡二叉樹構(gòu)造方法

這要涉及到滿二叉樹與完全二叉樹的問題

滿二叉樹是將一個(gè)n層二叉樹完全排滿的二叉樹,第n層有2^n個(gè)元素;

n層完全二叉樹是將n層滿二叉樹最后一層從后向前依次去處少于2^n個(gè)元素;

完全二叉樹是平衡二叉樹的一個(gè)特例,平衡二叉樹是將完全二叉樹的最后一層元素任意排在空位上的一種二叉樹。

如下圖所示,左為滿二叉樹,右為完全二叉樹:

平衡二叉樹是不是必須左小右大

平衡二叉樹(AVL)

那對(duì)圖 1 進(jìn)行下改造,把數(shù)據(jù)重新節(jié)點(diǎn)重新連接下,圖 2 如下:

圖 2 可以看到以下特性:

1. 所有左子樹的節(jié)點(diǎn)都小于其對(duì)應(yīng)的父節(jié)點(diǎn)(4,5,6)<(7);(4)<(5);(8)< (9);

2. 所有右子樹上的節(jié)點(diǎn)都大于其對(duì)應(yīng)的父節(jié)點(diǎn)(8,9,10)>(7);(6)>(5);(10)>(9);

3. 每個(gè)節(jié)點(diǎn)的平衡因子差值絕對(duì)值 <=1;

4. 每個(gè)節(jié)點(diǎn)都符合以上三個(gè)特征。

滿足這樣條件的樹叫平衡二叉樹(AVL)樹。

問:那再次查找節(jié)點(diǎn) 5,需要遍歷多少次呢?

由于數(shù)據(jù)是按照順序組織的,那查找起來非??欤瑥纳贤抡遥?-5,只需要在左子樹上查找,也就是遍歷 2 次就找到了 5。假設(shè)要找到葉子節(jié)點(diǎn) 10,只需要在右子樹上查找,那也最多需要 3 次,7-9-10。也就說 AVL 樹在查找方面性能很好,最壞的情況是找到一個(gè)節(jié)點(diǎn)需要消耗的次數(shù)也就是樹的層數(shù), 復(fù)雜度為 O(logN)

如果節(jié)點(diǎn)非常多呢?假設(shè)現(xiàn)在有 31 個(gè)節(jié)點(diǎn),用 AVL 樹表示如圖 3:

圖 3 是一棵高度為 4 的 AVL 樹,有 5 層共 31 個(gè)節(jié)點(diǎn),橙色是 ROOT 節(jié)點(diǎn),藍(lán)色是葉子節(jié)點(diǎn)。對(duì) AVL 樹的查找來看起來已經(jīng)很完美了,能不能再優(yōu)化下?比如,能否把這個(gè)節(jié)點(diǎn)里存放的 KEY 增加?能否減少樹的總層數(shù)?那減少縱深只能從橫向來想辦法,這時(shí)候可以考慮用多叉樹。

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由尚恩教育網(wǎng)發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://www.lmix.com.cn/view/68102.html

標(biāo)簽: 學(xué)習(xí)

“什么叫理想平衡二叉樹 平衡二叉樹是不是必須左小右大” 的相關(guān)文章

人文科學(xué)包括哪些學(xué)科 人文學(xué)科包括哪些學(xué)科

人文科學(xué)包括哪些學(xué)科 人文學(xué)科包括哪些學(xué)科

人文學(xué)科都包括哪些學(xué)科,人文科學(xué)包括哪些,人文科學(xué)包括哪些,人文社會(huì)科學(xué)包括哪些學(xué)科,人文學(xué)科包括哪些學(xué)科,人文科學(xué)包括哪些學(xué)科。本文導(dǎo)航人文學(xué)科都學(xué)哪些科目人文學(xué)科為什么不叫人文科學(xué)人文科學(xué)和社會(huì)科學(xué)有什么區(qū)別人文社會(huì)科學(xué)都要學(xué)什么人文學(xué)科包括什么專業(yè)人文學(xué)科包括哪些學(xué)科人文學(xué)科都學(xué)哪些科目“人文...

重慶市重點(diǎn)中學(xué) 目前重慶重點(diǎn)中學(xué)排名

重慶市重點(diǎn)中學(xué) 目前重慶重點(diǎn)中學(xué)排名

重慶市排名前十的中學(xué)是哪十個(gè)啊重慶市重點(diǎn)中學(xué)排名,重慶前50名重點(diǎn)中學(xué),2021重慶前50名重點(diǎn)中學(xué)。本文導(dǎo)航重慶前十名中學(xué)排名榜目前重慶重點(diǎn)中學(xué)排名重慶市高中排名前100中學(xué)重慶前十名中學(xué)排名榜1 重慶一中 2 南開中學(xué) 3 重慶八中4 育才中學(xué) 5 巴蜀中學(xué) 6 外語學(xué)校7 西師附中 8 求精中...

法律經(jīng)濟(jì)學(xué)要考什么 西南財(cái)經(jīng)大學(xué)經(jīng)濟(jì)數(shù)學(xué)研究生就業(yè)

經(jīng)濟(jì)法考研考哪些科目,我今年大一,專業(yè)是經(jīng)濟(jì)學(xué),想考法律經(jīng)濟(jì)學(xué).考研都考什么科目呢?西南財(cái)經(jīng)大學(xué)的法律經(jīng)濟(jì)學(xué)要考數(shù)學(xué)嗎???法經(jīng)濟(jì)考研的科目有哪些,經(jīng)濟(jì)學(xué)??瓶荚嚳颇坑心男?。本文導(dǎo)航考研經(jīng)濟(jì)法是學(xué)碩還是專碩本科經(jīng)濟(jì)學(xué)考研能考會(huì)計(jì)學(xué)嗎西南財(cái)經(jīng)大學(xué)經(jīng)濟(jì)數(shù)學(xué)研究生就業(yè)考研經(jīng)濟(jì)法難度排名大二經(jīng)濟(jì)學(xué)考什么考研...

川美理論類怎么考 四川美院本科提前批錄取結(jié)束了嗎

川美理論類怎么考 四川美院本科提前批錄取結(jié)束了嗎

四川美術(shù)學(xué)院考研同等學(xué)力加試的專業(yè)基礎(chǔ)和藝術(shù)理論考什么?四川美院點(diǎn)招考哪些內(nèi)容,四川美院文化分一般要考多少才穩(wěn)?請(qǐng)問川美考研 文藝?yán)碚?是怎么考的呢···急?本文導(dǎo)航四川美術(shù)學(xué)院碩士研究生招生目錄四川美院本科提前批錄取結(jié)束了嗎四川美院文化分一般要考多少才穩(wěn)?請(qǐng)問川美考研 文藝?yán)碚?是怎么考的呢···...

2019數(shù)二靠什么 2019年全國2卷理科數(shù)學(xué)

2019數(shù)二靠什么 2019年全國2卷理科數(shù)學(xué)

2019碩士研究生考試數(shù)二國家線多少?全國計(jì)算機(jī)二級(jí)都考什么內(nèi)容?2019數(shù)學(xué)全國二卷高考理科填空順序,是橫還是豎。本文導(dǎo)航2019年研究生國家線多少計(jì)算機(jī)二級(jí)證都考什么內(nèi)容2019年全國2卷理科數(shù)學(xué)2019年研究生國家線多少2019年考研數(shù)學(xué)分?jǐn)?shù)線大約在70至75之間,經(jīng)濟(jì)類的大約在75-80之間...

復(fù)式班怎么編排 復(fù)式教學(xué)怎么教

復(fù)式班怎么編排 復(fù)式教學(xué)怎么教

復(fù)式教育的教學(xué)方法,如何組織復(fù)式班的直接教學(xué)和自動(dòng)作業(yè)?混齡教育和復(fù)式教學(xué)的異同點(diǎn),復(fù)式教學(xué)怎么教?本文導(dǎo)航復(fù)式教育的教學(xué)方法如何組織復(fù)式班的直接教學(xué)和自動(dòng)作業(yè)小班化分層教學(xué)訓(xùn)練課程都有哪些復(fù)式教學(xué)怎么教復(fù)式教育的教學(xué)方法教學(xué)線路如何安排,我認(rèn)為應(yīng)注意以下幾點(diǎn):①從年級(jí)高低考慮。低年級(jí)學(xué)生自動(dòng)作業(yè)能...

發(fā)表評(píng)論

訪客

◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法和觀點(diǎn)。