diff --git a/数据结构与算法/数据结构.md b/数据结构与算法/数据结构.md index 72c29181..8231705c 100644 --- a/数据结构与算法/数据结构.md +++ b/数据结构与算法/数据结构.md @@ -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)