为了解决二叉搜索树在频繁地插入、删除等操作导致的时间复杂度退化的问题,于是平衡二叉搜索树出现了。
所谓“平衡”二字意思就是调和二叉搜索树的左右子树的高度,使其都差不多高,因为左右子树高度相差太多是二叉搜索树时间复杂度退化的根因。要解决这个退化就得从根上着手。
平衡二叉搜索树的严格定义:任意节点的左右子树高度相差不大于1。
当然平衡二叉搜索树不严格定义比如超过1但是只要符合log2(n)——n是高度——也是可以的。
极其平衡的二叉搜索树: 满二叉树、完全二叉树。
近似平衡的二叉搜索树:红黑树等。
红黑树属于平衡二叉搜索树的一种,是不严格的平衡二叉搜索树。
红黑树是平衡二叉搜索树的明星树。