日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AVL树学习笔记

發布時間:2024/4/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AVL树学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AVL樹本質上還是一棵二叉搜索樹(因此讀者可以看到我后面的代碼是繼承自二叉搜索樹的),它的特點是:

  • 本身首先是一棵二叉搜索樹。

  • 帶有平衡條件:每個結點的左右子樹的高度之差的絕對值(平衡因子)最多為1。

  • AVL樹的查找平均時間復雜度要比二叉搜索樹低——它是O(logN)。

    ?

    旋轉操作:

    AVL樹是一顆平衡樹,其左右子樹的高度差不會超過一層。爲了保持這一性質,採用旋轉節點的方式來降低高度。

    如下圖,紅色表示新插入的節點,一共4種情況:

    • 左左:節點1插入到左子樹的左節點,導致節點5不平衡。

    ?

    實際上我們只需要關心節點1、3、5,根據二叉搜索樹的性質(左 < 中 < 右),所以祇有節點3才可以作為父節點,於是將節點5繞節點3進行一次左旋,達到平衡。

    ?

    • 右右:和左左類似,可以通過一次右旋來實現平衡,如下圖:

    ?

    ?

    • 左右:這種情況光旋轉失衡的節點5是不夠的,因爲節點3是無法成爲父節點的,祇有節點4才有可能。

    ?

    所以先把節點3右旋以使節點4居中,再將節點5左旋,共兩次旋轉實現平衡。

    ?

    • 右左:和左右的情況類似,也是兩次,先左旋后右旋。

    ?

    圖片出處:http://www.th7.cn/Program/net/201306/140050.shtml

    ?

    代碼尚在醞釀中。

    轉載于:https://www.cnblogs.com/IT-nerd/p/3477696.html

    總結

    以上是生活随笔為你收集整理的AVL树学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。