先来总结一下排序二叉树:
二叉排序树是以链接的方式存储,保持了链接存储结构在执行插入和删除操作时不用一定元素的优点,只要找到合适的插入和删除位置后,仅需修改链接指针即可,插入删除的性能比较好,而对于二叉排序树的查找,走的就是根节点到查找节点的路径,其比较次数等于给定的节点在二叉排序书的层数,极端情况最少为一,最多也不会超过树的深度,也就是说二叉排序树的查找性能取决于二叉排序树的形状,问题就在于,二叉排序书的形状是不确定的。
如果给定一个有序的数组,那我们构建的二叉排序书就是一个极端的斜树。造成性能上的丢失。
也就是说,我们希望二叉排序书是比较平衡的,其深度与完全二叉树相同。均为log2 n.
为了解决这个问题,发明了平衡二叉树
平衡二叉树'(Self-Balancing Binary Search Tree)',是一种二叉排序树,其中每一个节点的额左子树和右子树的高度只差不超过1.
在每次插入删除时,都要对齐进行调整。
AVL树详解
最新推荐文章于 2024-05-13 17:30:36 发布