数据结构之红黑树

红黑树本来来说应该是本科数据结构教学的内容,我当年领到的教科书上也有。但是因为抓得不严,总之最后是不了了之,连有没有教过都忘记了,自己也没有去学。现在过了这么多年,开始找工作了,发现有些公司似乎挺爱问这个的,关于STL的实现我原先一直以为map是靠AVL树实现的,具体是什么书上看来的我也忘记了。只是现在知道了它其实是红黑树也无济于事,因为完全没有去了解过它,一问三不知。现在就突然想起来,想要补一下这方面的知识。

在搜索引擎上面找了一通以后,发现国内的资料基本就那么几个版本,大家抄来抄去,一上来就跟你讲红黑树的性质,为什么这样、这么来的,只字不提。看着实在也很让人郁闷。把这些性质啥的全部硬记下来,然后写一写再体会也不是说就不是办法,但是个人比较讨厌。于是就想上网去找外国人写的教学。Bing搜索的英语版搜red-black tree tutorial这个关键词,然后就找了 http://eternallyconfuzzled.com/tuts/datastructures/jsw_tut_rbtree.aspx 这个来看。在我搜索的时候,这个是第一个结果。点进去看了也是比较容易理解,就决定用这个来学了。最终学习了它的Bottom-up insertion和Top-down deleteion两种操作。

继续阅读数据结构之红黑树