因为BST,在最坏情况下的时间复杂度为,及时在平均情况下也会达到,这不是很理想的时间复杂度,那么如果想达到理想的时间复杂度,就要对树进行平衡操作,这里就引入了BBST来完成和解决上面的问题,AVL树就是一种BBST.
AVL树的平衡标准,balFacl(v)=height(lc(v))-height(rc(v)),v表示树的节点,balFacl表示平衡因子
对于任何节点v,都有|balFacl(v)|<=1,这就是AVL树的定义也是平衡的标准
height(AVL)=O(logn)
对于高度为h的AVL树,至少包含S(h)=fib(h+3)-1个节点(这里设一个节点的高度为0)
无论查找,插入或删除,最坏情况下的时间复杂度为