Bootstrap

484-红黑树

1、红黑树和AVL树的区别

  • AVL树是一棵平衡树,为了维护节点平衡引入4种旋转操作。
  • 任意节点的左右子树高度差不会超过1
  • 平衡的好处是:从根节点到每个叶子结点的访问的路径是相当的,查询的效率非常高。
  • 但是删除节点,AVL树可能从当前失衡节点开始,向根节点一直要进行回溯,都有可能发生失衡,最差情况全部失衡,都需要进行节点的旋转操作,节点的旋转次数是和树的高度有关的O(logn)。
  • 对于插入节点,因为都是插入在叶子节点上,最多旋转2次,最少就旋转1次(左平衡或者右平衡旋转)。

在这里插入图片描述
红黑树:

  • 红黑树不是一棵平衡树(没有要求节点必须平衡),节点的左右子树高度差,长的不超过短的2倍。
  • 效率上比AVL树好一些。节点的旋转的次数比AVL树少很多;
;