[算法] 红黑树比一般的平衡2叉树,到底有什么特殊的优势和作用?

http://bbs.chinaunix.net/thread-3760493-1-1.html

一般的2叉树,加入平衡算法,也能达到动态平衡,那么红黑树到底有什么优势呢? 我看红黑树的增加删除,旋转,似乎也没有什么特别之处啊。

什么样的问题必须用红黑树来解决?

红黑树与AVL的比较:

AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多;

红黑是用非严格的平衡来换取增删节点时候旋转次数的降低;

所以简单说,如果你的应用中,搜索的次数远远大于插入和删除,那么选择AVL,如果搜索,插入删除次数几乎差不多,应该选择RB。

有时仅为了排序(建立-遍历-删除),不查找或查找次数很少,rb合算一些。

查找多的话用 AVL ,
添加删除多的话用 RB。

    原文作者:算法小白
    原文地址: https://blog.csdn.net/jeffasd/article/details/51511558
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞