一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - 平衡二叉樹的左右旋以及雙旋轉的圖文詳解

平衡二叉樹的左右旋以及雙旋轉的圖文詳解

2021-07-01 14:4043193797 Java教程

今天小編就為大家分享一篇關于平衡二叉樹的左右旋以及雙旋轉的圖文詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

高度平衡的搜索二叉樹

一棵平衡樹,或是空樹,或是具有以下性質的二叉搜索樹:左子樹和右子樹都是avl樹,且左右子樹的高度之差的絕對值不超過1。 

平衡二叉樹的左右旋以及雙旋轉的圖文詳解

該二叉樹,根結點的右子樹高度為3,左子樹高度為2。結點上方的數字為平衡因子,因為右子樹高度比左子樹高度大1,所以根結點的平衡因子為1。

一顆平衡二叉樹,如果有n個結點,其高度可保持o(log2^n),平均搜索長度也可以保持在o(log2^n)

平衡化旋轉 

avl樹相較于普通的二叉搜索樹,自主要的就是做了平衡化處理,使得二叉樹變的平衡,高度降低。

在插入一個結點后應該沿搜索路徑將路徑上的結點平衡因子進行修改,當平衡因子大于1時,就需要進行平衡化處理。從發生不平衡的結點起,沿剛才回溯的路徑取直接下兩層的結點,如果這三個結點在一條直線上,則采用單旋轉進行平衡化,如果這三個結點位于一條折線上,則采用雙旋轉進行平衡化。

單旋轉

左單旋

平衡二叉樹的左右旋以及雙旋轉的圖文詳解

動圖演示,圖片內容可以無視,看懂操作進行了

平衡二叉樹的左右旋以及雙旋轉的圖文詳解

將右子樹的左子樹鏈接到父親節點的右孩子結點,父親節點作為ptr結點的左孩子結點便完成了旋轉

右單旋

右單旋是左單旋的鏡像旋轉. 

當前節點ptr,與父親節點和當前節點的左孩子結點位于一條直線上時,使用右單旋進行平衡。

平衡二叉樹的左右旋以及雙旋轉的圖文詳解

雙旋轉

先左后右雙旋轉

平衡二叉樹的左右旋以及雙旋轉的圖文詳解

當在ptr的左子樹的右子樹中插入一個結點后,造成了ptr平衡因子為-2的不平衡,將ptr向下找到當前結點的左孩子的右孩子,先進行左單旋ptr->left = subl,然后將ptr的右子樹斷開指向subr,此時便完成了旋轉,最后將平衡因子進行更新。

先右后左雙旋轉

先右單旋再左單旋,是先左后右的鏡像旋轉,這里就不做贅述了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/qq_43193797/article/details/85124138

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: spank日本网站脱裤子打屁股 | 四虎成人永久地址 | 男人插曲女人下面 | 久久免费看少妇高潮A片2012 | 免费人成在线观看69式小视频 | 国产精品一区二区三区久久 | 亚洲 日韩经典 中文字幕 | 婷婷精品 | 久久视频在线视频观看精品15 | 鬼畜重口高h合集长短篇 | 四缺一写的小说 | 亚洲国产在线2o20 | 大象视频污 | 午夜精品网 | 91九色麻豆 | 和老外3p爽粗大免费视频 | bt天堂午夜国产精品 | 嫩草视频在线观看视频播放 | 99热在这里只有精品 | 香蕉国产精品偷在线播放 | 亚洲国产精品久久网午夜小说 | 欧美办公室silkstocking | 337p大尺度啪啪人体午夜2020 | 欧美综合影院 | 护士伦理片| 美女扒开尿口让男生添 漫画 | 久久久96| 欧美色综合高清免费 | 四虎地址8848aa4hc44四虎 四虎成人永久地址 | 91久久青青青国产免费 | 6个老师的尿奴 | 成人影院观看 | 亚洲精品久久久久福利网站 | 日本中文字幕永久在线 | 精品国内自产拍在线视频 | 亚洲精品在线网址 | 亚洲www视频 | 水蜜臀 | 调教全程肉动画片在线观看 | 丝瓜视频在线观看污 | 紧身裙女教师miad711在线 |