平衡二叉树和红黑树

平衡二叉树

AVL树是严格的平衡二叉树,平衡条件必须满足(所有结点的左右子树高度差不超过1)。不管我们是执行插入还是删除操作,只要不满足上面的条件,就要通过旋转来保存平衡,而因为旋转非常耗时,由此我们可以知道AVL树适合用于插入与删除次数比较少,但查找多的情况

红黑树

保证五个条件

(1)结点非红即黑

(2)根结点是黑色的

(3)每个叶子节点(NULL节点)是黑色的

(4)每个红色节点的两个子节点都是黑色的。(不能有两连续的红色节点)

(5)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

注意:性质(5)保证红黑树的最长路径不超过最短路径的两倍。
在这里插入图片描述
红黑树是一中弱平衡二叉树(由于是弱平衡,可以看到,在相同的节点情况下,AVL树的高度低于红黑树,相对于要求严格的AVL树来说,它的旋转次数少,插入最多两次旋转,删除最多三次旋转,所以对于搜索,插入,删除操作较多的情况下,我们就用红黑树

总结

平衡二叉树插入和删除需要旋转来保证左右子树的平衡<=1,所以插入和删除性能比较差,由于二叉平衡树高度比较矮,所以查找性能更加好
红黑树要求到达叶子节点最长路径<=最短路径×2,所以红黑树高度比较高,查找性能没有平衡二叉树好,但是由于对左右子树没有强要求<=1,所以旋转次数减少,也就是说红黑树插入和删除性能较好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值