工大人在上海
做为c++菜鸟也要嗷嗷飞!
         这几天一直在研究stl源码来着,是sgi版本的。
    虽然不怎么能看出门道,但是还是看了比没看强。
    今天看了stl_tree.h文件,使用来定义并实现rb-tree的。当时就在想,为什么非要用rb-tree啊?实现起来多么的麻烦,而且实现插入,删除操作都十分繁琐,而且还要处理好着色问题。而avl-tree就不用那么麻烦了。但是为什么这么繁琐stl还是选择使用rb-tree而不选择avl-tree呢?而且linux核心代码以前就用的是avl-tree,后来换成了rb-tree。
于是到网上去找,找了半天也没有找到有价值的信息,于是就到qq上骚扰pangwa大哥。果然,pang大哥马上拿出了一片发表在水木上的文章,就是讨论这个问题的。但是看了之后好像只有一点收获:某两位专家讨论时得出结论是rb-tree在rebalance时只需要2次rotation,效率高。
    但还是没怎么明白。
    接着到网上找找吧................................
posted on 2007-03-29 16:38  天下大事 必作于细  阅读(1035)  评论(1编辑  收藏  举报