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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

认识平衡树

發布時間:2024/1/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 认识平衡树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二叉搜索樹的缺陷

當插入的數據是有序的數據,就會造成二叉搜索樹的深度過大。比如原二叉搜索樹右 11 7 15 組成,如下圖所示:

當插入一組有序數據:6 5 4 3 2就會變成深度過大的搜索二叉樹,會嚴重影響二叉搜索樹的性能。

非平衡樹

  • 比較好的二叉搜索樹,它的數據應該是左右均勻分布的;
  • 但是插入連續數據后,二叉搜索樹中的數據分布就變得不均勻了,我們稱這種樹為非平衡樹
  • 對于一棵平衡二叉樹來說,插入/查找等操作的效率是O(logN)
  • 而對于一棵非平衡二叉樹來說,相當于編寫了一個鏈表,查找效率變成了O(N);

樹的平衡性

為了能以較快的時間O(logN)來操作一棵樹,我們需要保證樹總是平衡的:

  • 起碼大部分是平衡的,此時的時間復雜度也是接近O(logN)的;
  • 這就要求樹中每個節點左邊的子孫節點的個數,應該盡可能地等于右邊的子孫節點的個數;

常見的平衡樹

  • AVL樹:是最早的一種平衡樹,它通過在每個節點多存儲一個額外的數據來保持樹的平衡。由于AVL樹是平衡樹,所以它的時間復雜度也是O(logN)。但是它的整體效率不如紅黑樹,開發中比較少用。
  • 紅黑樹:同樣通過一些特性來保持樹的平衡,時間復雜度也是O(logN)。進行插入/刪除等操作時,性能優于AVL樹,所以平衡樹的應用基本都是紅黑樹。

總結

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

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