AVL樹

AVL樹誕生的原因

如果數據是有序的或者接近有序的,搜索二叉樹就會產生單支的情況,單支就相當於在順序表中搜索元素,降低了效率。因此1962年俄羅斯兩位數學家發明了AVL樹。

AVL樹

在二叉搜索樹中插入新的結點後,保證每個結點的左右子樹的高度之差的絕對值不超過1,就可以降低樹的高的,減少平均搜索長度。
性質:
- 左右子樹都是AVL樹
- 左右子樹的高的之差爲-1或0或1(平衡因子)

AVL樹的插入

  • 空樹(直接插入)
  • 尋找插入位置
  • 插入新結點
  • 更新平衡因子(旋轉調節)
旋轉分析
  • 較高右子樹的右側—>(左單旋)
  • 較高左子樹的左側—>(右單旋)
  • 較高右子樹的左側—>(先右後左)
  • 較高左子樹的右側—>(先左後右)

    這裏寫圖片描述

發佈了66 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章