二叉排序树及其进化(平衡二叉树) 平衡二叉树

特点:左子树值<结点值<右子树值,其中序遍历序列为递增有序序列

平衡二叉树

平衡二叉树是二叉排序树的演变与进化。

二叉排序树在结点插入的顺序不同时,性能可能有所不同。

举个极端例子,当用一个顺序序列建立二叉排序树时,结点的数量等于二叉树的高。此时查询一个结点的时间复杂度与单链表相同,为O(n)。这与我们想要的时间复杂度O($log_2 n$)相距甚远。

由于二叉排序树的性能与其高度息息相关,为避免出现性能下降的情况,则在插入结点时要充分利用其高度,避免其增长过快。由此,平衡二叉树诞生了。

平衡二叉树(AVL树)保证在插入和删除结点后,二叉树任意节点的左、右子树高度差绝对值不超过1。定义结点左右子树的高度差为结点的平衡因子。