1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

增加红黑树的应用场景

This commit is contained in:
Snailclimb 2018-08-16 21:48:10 +08:00 committed by GitHub
parent 1c96bc8af0
commit 461930ab54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -77,18 +77,21 @@
[ 平衡二叉树](https://baike.baidu.com/item/%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91)百度百科平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等
* **6 红黑树**
红黑树特点:
1. 每个节点不是红色就是黑色的
- 红黑树特点:
1. 每个节点非红即黑
2. 根节点总是黑色的;
3. 所有的叶节点都是是黑色的红黑树的叶子节点都是空节点NIL或者NULL
3. 每个叶子节点都是黑色的空节点NIL节点
4. 如果节点是红色的,则它的子节点必须是黑色的(反之不一定);
5. 从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)
[漫画:什么是红黑树?](https://juejin.im/post/5a27c6946fb9a04509096248#comment)(也介绍到了二叉查找树,非常推荐)
[寻找红黑树的操作手册](http://dandanlove.com/2018/03/18/red-black-tree/)(文章排版以及思路真的不错)
[红黑树深入剖析及Java实现](https://zhuanlan.zhihu.com/p/24367771)(美团点评技术团队)
- 红黑树的应用:
TreeMap、TreeSet以及JDK1.8之后的HashMap底层都用到了红黑树。
- 推荐文章
- [漫画:什么是红黑树?](https://juejin.im/post/5a27c6946fb9a04509096248#comment)(也介绍到了二叉查找树,非常推荐)
- [寻找红黑树的操作手册](http://dandanlove.com/2018/03/18/red-black-tree/)(文章排版以及思路真的不错)
- [红黑树深入剖析及Java实现](https://zhuanlan.zhihu.com/p/24367771)(美团点评技术团队)
* **7 B-B+B*树**
[二叉树学习笔记之B树、B+树、B*树 ](https://yq.aliyun.com/articles/38345)