- 红黑树和二叉搜索树的区别
红黑树(带有自平衡功能的AVL树)
红黑树除了具备查查查找树的基本特性外:还具备以下规则,它是一个平衡二叉查找树
需要根据规则变色
红黑树和平衡二叉树的区别
- 维持平衡的条件不同
- 平衡二叉树在插入或者删除节点时为了保证左右子树的高度差会进行旋转,这一个旋转根据数据的不同旋转的复杂度也会不一样,所以在插入或者删除平衡二叉树的节点时,旋转的次数不可知,这也导致在频繁的插入、修改中造成的效率问题;红黑树在执行插入修改的操作时会发生旋转与变色(红变黑,或者黑变红)以确保没有一条路径会比其它路径长出两倍。最多只需要三次旋转就能达到平衡
- 总体来说,在插入或者删除节点时,红黑树旋转的次数比平衡二叉树少,因此在插入与删除操作比较频繁的情况下,选用红黑树。