接上篇:http://blog.csdn.net/wabiaozia/article/details/53216228
上篇谈到了如何构建一棵红黑树,以及构建过程中的变色与旋转。
虽然学会了如何构建红黑树,但是如何用java代码实现,如何将人手动的旋转方式转换为代码描述还是需要一些功夫的。
我们可以参照TreeMap的代码。如果不想看可以:
1 修正函数可以参考https://www.cnblogs.com/xrq730/p/6867924.html 中的图
2 自己插入数字模拟时可以参照 https://github.com/CarpenterLee/JCFInternals/blob/master/markdown/5-TreeSet%20and%20TreeMap.md 中图
3 红黑树能够保证符号表的所有操作即使在最坏的情况下都能保证对数的时间复杂度,也就是树的高度。插入动态图示例。http://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html
4 红黑树插入至多做两次旋转,删除至多三次旋转--算法导论
5 红黑树(RB-tree)比AVL树的优势在哪:http://blog.csdn.net/mmshixing/article/details/51692892
6 转载表明链接:http://blog.csdn.net/wabiaozia/article/details/78974861
我博客所有文章目录:http://blog.csdn.net/wabiaozia