二进制排序树只要求每个节点的左子级小于它,右子级大于或等于它。先看删除操作:“先将删除的节点与最后一个节点交换,交换后删除最后一个节点,然后重建二叉树”,在这个过程中,如果删除根节点左侧的节点,则在与最后一个节点交换后,为了保持二叉排序树的特性,最后一个节点会逐渐向上移动,这很可能会改变根节点的位置。然后让我们看看插入操作:“直接与根节点比较。如果小于根节点,插入左子树,递归一次,选择合适的节点,如果大于根节点,依此类推。所以平衡二叉树可能不同。我建议你画一幅图,试着操作一下,加深对这两种操作的理解
每个节点最多有两个叉的树称为二叉树。搜索树和排序树是一回事。其特点是遍历中间阶的结果是单调的。这种树可以用于二进制搜索。平衡树一般是一种排序树,并添加一个点条件,即任意节点的两个叉的深度几乎相同(例如,差值的绝对值小于一个常数,或者一个叉的深度不能是另一个叉的两倍)。这样的树可以保证二进制搜索的任何元素都是o(logn),并且具有插入或删除元素都是o(logn)的属性。