AVL樹

AVL樹 （ Adelson - Velsky and Landis Tree ） 是計算機科學中最早被髮明的自平衡二叉查找樹 。 在AVL樹中 ， 任一節點對應的兩棵子樹的最大高度差爲1 ， 因此它也被稱爲高度平衡樹 。 查找 、 插入和刪除在平均和最壞情況下的時間複雜度都是 。 增加和刪除元素的操作則可能需要藉由一次或多次樹旋轉 ， 以實現樹的重新平衡 。 AVL樹得名於它的發明者G. M. Adelson - Velsky和 ， 他們在1962年的論文 《 An algorithm for the organization of information 》 中公開了這一數據結構 。 節點的平衡因子是它的左子樹的高度減去它的右子樹的高度 （ 有時相反 ） 。 帶有平衡因子1 、 0或 -1 的節點被認爲是平衡的 。 帶有平衡因子 -2 或2的節點被認爲是不平衡的 ， 並需要重新平衡這個樹 。 平衡因子可以直接存儲在每個節點中 ， 或從可能存儲在節點中的子樹高度計算出來 。