当前位置:   article > 正文

红黑树的了解(平衡树,二叉搜索树)_红黑树的平衡因子

红黑树的平衡因子

红黑树的了解(平衡树,二叉搜索树),使用场景
1.AVLtree
定义:最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。节点的平衡因子是它的左子树的高度减去它的右子树的高度(有时相反)。带有平衡因子1、0或 -1的节点被认为是平衡的。带有平衡因子 -2或2的节点被认为是不平衡的,并需要重新平衡这个树。平衡因子可以直接存储在每个节点中,或从可能存储在节点中的子树高度计算出来。一般我们所看见的都是排序平衡二叉树。AVLtree使用场景:AVL树适合用于插入删除次数比较少,但查找多的情况。插入删除导致很多的旋转,旋转是非常耗时的。AVL 在linux内核的vm area中使用。
2.二叉搜索树
二叉搜索树也是一种树,适用与一般二叉树的全部操作,但二叉搜索树能够实现数据的快速查找。
二叉搜索树满足的条件:

1.非空左子树的所有键值小于其根节点的键值
2.非空右子树的所有键值大于其根节点的键值
3.左右子树都是二叉搜索树
  • 1
  • 2
  • 3

二叉搜索树的应用场景:如果是没有退化称为链表的二叉树,查找效率就是
lgn,效率不错,但是一旦退换称为链表了,要么使用平衡二叉树,或者之后的RB树,因为链表就是线性的查找效率。
3.红黑树的定义
红黑树是一种二叉查找树,但在每个结点上增加了一个存储位表示结点的颜色,可

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号