计算机知识梳理——什么是AVL树

1、AVL树的定义

AVL树又称平衡二叉搜索树,它能保证二叉树高度相对平衡,尽量降低二叉树的高度,提高搜索效率


2、AVL树的特点

(1)AVL的左右子树高度之差的绝对值不超过1
(2)树中的每个左子树和右子树都是AVL树
(3)每个节点都有一个平衡因子,任一节点的平衡因子只能是(-1、0、1)。(每个节点的平衡因子等于右子树的高度减去左子 树的高度 )
(4)平衡二叉树的高度和结点数量之间的关系也是O(logn)的


计算机知识梳理——什么是AVL树

 

为什么不用二叉搜索树,二叉搜索树的极端情况:

计算机知识梳理——什么是AVL树

如图相当于一个链表,在查找上的优势已经全无,这种情况下,查找一个结点的时间复杂度是O(N)。