網站首頁 健康生活 世界之窗 解夢大全 生肖 星座 火車查詢 節日
當前位置:秒懂生活集 > 健康生活 > 生活

紅黑樹和平衡二叉樹的區別 紅黑樹和平衡二叉樹的區別是什麼

欄目: 生活 / 發佈於: / 人氣:1.74W

紅黑樹和平衡二叉樹的區別:

紅黑樹放棄了追求完全平衡,追求大致平衡,在與平衡二叉樹的時間複雜度相差不大的情況下,保證每次插入最多隻需要三次旋轉就能達到平衡,實現起來也更爲簡單。平衡二叉樹追求絕對平衡,條件比較苛刻,實現起來比較麻煩,每次插入新節點之後需要旋轉的次數不能預知。

紅黑樹和平衡二叉樹的區別 紅黑樹和平衡二叉樹的區別是什麼

紅黑樹

紅黑樹是一種特定類型的二叉樹,是在計算機科學中用到的一種數據結構,典型的用途是實現關聯數組。它是在1972年由RudolfBayer發明的,他稱之爲"對稱二叉B樹",它現代的名字是在as和RobertSedgewick於1978年寫的一篇論文中獲得的。它是複雜的,但它的操作有着良好的最壞情況執行時間,並且在實踐中是高效的,它可以在O(logn)時間內做查找,插入和刪除,這裏的n是樹中元素的數目。

平衡二叉樹

平衡二叉搜尋樹(Self-balancing binary search tree)又被稱爲AVL樹(有別於AVL算法),且具有以下性質:它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。平衡二叉樹的常用實現方法有紅黑樹、AVL、替罪羊樹、Treap、伸展樹等。最小二叉平衡樹的節點總數的公式如下F(n)=F(n-1)+F(n-2)+1這個類似於一個遞歸的數列,可以參考Fibonacci(斐波那契)數列,1是根節點,F(n-1)是左子樹的節點數量,F(n-2)是右子樹的節點數量。