日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

紅黑樹和平衡二叉樹的區(qū)別,平衡二叉樹關(guān)鍵字是什么意思

紅黑樹和平衡二叉樹的區(qū)別

紅黑樹和平衡二叉樹的區(qū)別,平衡二叉樹關(guān)鍵字是什么意思


紅黑樹放棄了追求完全平衡,追求大致平衡,在與平衡二叉樹的時(shí)間復(fù)雜度相差不大的情況下,保證每次插入最多只需要三次旋轉(zhuǎn)就能達(dá)到平衡,實(shí)現(xiàn)起來(lái)也更為簡(jiǎn)單 。
平衡二叉樹追求絕對(duì)平衡,條件比較苛刻,實(shí)現(xiàn)起來(lái)比較麻煩,每次插入新節(jié)點(diǎn)之后需要旋轉(zhuǎn)的次數(shù)不能預(yù)知 。
是一種自平衡二叉查找樹,是在計(jì)算機(jī)科學(xué)中用到的一種數(shù)據(jù)結(jié)構(gòu),典型的用途是實(shí)現(xiàn)關(guān)聯(lián)數(shù)組 。紅黑樹是在1972年被發(fā)明,當(dāng)時(shí)被稱為平衡二叉B樹 。紅黑樹是一種特化的AVL樹(平衡二叉樹),都是在進(jìn)行插入和刪除操作時(shí)通過特定操作保持二叉查找樹的平衡,從而獲得較高的查找性能 。它雖然是復(fù)雜的,但它的最壞情況運(yùn)行時(shí)間也是非常良好的,并且在實(shí)踐中是高效的: 它可以在O時(shí)間內(nèi)做查找 , 插入和刪除,這里的n 是樹中元素的數(shù)目 。
平衡二叉樹關(guān)鍵字是什么意思什么是平衡二叉樹
簡(jiǎn)單說(shuō)就是平衡二叉排序樹 , 也就是首先是二叉排序樹,然后還是平衡的 ??梢赃@樣理解
它要么是一 棵空樹 , 要么是它的左右兩個(gè)子樹的高度差的絕對(duì)值不超過1,并且左右兩個(gè)子樹都是一棵平衡二叉樹
平衡二叉樹比其他二叉樹有什么好處
首先平衡二叉樹是特殊的二叉排序樹,他的結(jié)點(diǎn)元素間存在著偏序關(guān)系 。
其次相對(duì)于一般的二叉排序樹,平衡二叉樹的左右子樹的深度差也有不超過1層的約束 。
這樣使得平衡樹是同種元素序列情況下的深度最小的二叉排序樹 。這可以減少二叉樹元素查找的深度,從而提升平均查找效率 。
平衡二叉樹定義
所謂平衡二叉樹是指樹中任一結(jié)點(diǎn)的左、右子樹高度大致相同 。平衡二叉樹有很多種績(jī)著名的是由前蘇聯(lián)數(shù)學(xué)家Adelse—Velskil和Landis在1962年提出的 , 稱為AVL樹 。平衡二叉樹(AVL樹)定義如下:平衡二叉樹或者是一棵空樹,或者是具有以下性質(zhì)的二叉排序樹:(1)它的左子樹和右子樹的高度之差絕對(duì)值不超過1;(2)它的左子樹和右子樹都是平衡二叉樹 。
數(shù)據(jù)結(jié)構(gòu)平衡二叉樹圖9.12中的(e)和(g)啥意思
這個(gè)e和g就是在平衡二叉樹產(chǎn)生不平衡時(shí) , 做了平衡化的旋轉(zhuǎn)得到
紅黑樹和平衡二叉樹 區(qū)別
紅黑樹和之前所講的AVL樹類似,都是在進(jìn)行插入和刪除操作時(shí)通過特定操作保持二叉查找樹的平衡,從而獲得較高的查找性能 。自從紅黑樹出來(lái)后 , AVL樹就被放到了博物館里,據(jù)說(shuō)是紅黑樹有更好的效率,更高的統(tǒng)計(jì)性能 。
紅黑樹和AVL樹的區(qū)別在于它使用顏色來(lái)標(biāo)識(shí)結(jié)點(diǎn)的高度,它所追求的是局部平衡而不是AVL樹中的非常嚴(yán)格的平衡 。AVL樹的復(fù)雜比起紅黑樹來(lái)說(shuō)簡(jiǎn)直是小巫見大巫 。紅黑樹是真正的變態(tài)級(jí)數(shù)據(jù)結(jié)構(gòu) 。
平衡二叉樹的平衡因子是什么
基本上就是左子樹高了1層就加1,右子樹高就-1,然后左右一樣高就為0
為什么要構(gòu)建平衡二叉樹,的主要目的為? 5分
因?yàn)檎5亩媾判驑渑貌缓貌檎倚阅芙朴贠(n),使用平衡二叉樹則可以保證查找性能不超過1.5log2n
什么是平衡二叉樹
平衡二叉樹,又稱AVL樹 。它或者是一棵空樹,或者是具有下列性質(zhì)的二叉樹:它的左子樹和右子樹都是平衡二叉樹,且左子樹和右子樹的高度之差之差的絕對(duì)值不超過1. 。
常用算法有:紅黑樹、AVL樹、Treap等 。
平衡二叉樹的調(diào)整方法
平衡二叉樹是在構(gòu)造二叉排序樹的過程中 , 每當(dāng)插入一個(gè)新結(jié)點(diǎn)時(shí),首先檢查是否因插入新結(jié)點(diǎn)而破壞了二叉排序樹的平衡性,若是 , 則找出其中的最小不平衡子樹,在保持二叉排序樹特性的前提下,調(diào)整最小不平衡子樹中各結(jié)點(diǎn)之間的鏈接關(guān)系,進(jìn)行相應(yīng)的旋轉(zhuǎn),使之成為新的平衡子樹 。具體步驟如下:
⑴ 每當(dāng)插入一個(gè)新結(jié)點(diǎn) , 從該結(jié)點(diǎn)開始向上計(jì)算各結(jié)點(diǎn)的平衡因子,即計(jì)算該結(jié)點(diǎn)的祖先結(jié)點(diǎn)的平衡因子,若該結(jié)點(diǎn)的祖先結(jié)點(diǎn)的平衡因子的絕對(duì)值均不超過1,則平衡二叉樹沒有失去平衡,繼續(xù)插入結(jié)點(diǎn);
⑵ 若插入結(jié)點(diǎn)的某祖先結(jié)點(diǎn)的平衡因子的絕對(duì)值大于1,則找出其中最小不平衡子樹的根結(jié)點(diǎn);
⑶ 判斷新插入的結(jié)點(diǎn)與最小不平衡子樹的根結(jié)點(diǎn)的關(guān)系 , 確定是哪種類型的調(diào)整;
⑷ 如果是LL型或RR型,只需應(yīng)用扁擔(dān)原理旋轉(zhuǎn)一次 , 在旋轉(zhuǎn)過程中,如果出現(xiàn)沖突,應(yīng)用旋轉(zhuǎn)優(yōu)先原則調(diào)整沖突;如果是LR型或LR型,則需應(yīng)用扁擔(dān)原理旋轉(zhuǎn)兩次,第一次最小不平衡子樹的根結(jié)點(diǎn)先不動(dòng),調(diào)整插入結(jié)點(diǎn)所在子樹 , 第二次再調(diào)整最小不平衡子樹,在旋轉(zhuǎn)過程中,如果出現(xiàn)沖突 , 應(yīng)用旋轉(zhuǎn)優(yōu)先原則調(diào)整沖突;
⑸ 計(jì)算調(diào)整后的平衡二叉樹中各結(jié)點(diǎn)的平衡因子,檢驗(yàn)是否因?yàn)樾D(zhuǎn)而破壞其他結(jié)點(diǎn)的平衡因子 , 以及調(diào)整后的平衡二叉樹中是否存在平衡因子大于1的結(jié)點(diǎn) 。
平衡二叉樹概念
我覺得平衡二叉樹,不一定必須是二叉搜索樹 。
【紅黑樹和平衡二叉樹的區(qū)別,平衡二叉樹關(guān)鍵字是什么意思】但它的概念之所以提出來(lái),就是為了提高搜索效率的
要求二叉樹達(dá)到平衡 , 就是要在搜索的時(shí)候,不至于沿著某個(gè)子樹搜索下去
極端不平衡的二叉樹,退化成線性表了,搜索就變成“遍歷”了

    推薦閱讀