8000 增加使用红黑树的原因 · java86/Java-Guide@5f60b33 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5f60b33

Browse files
authored
增加使用红黑树的原因
1 parent 461930a commit 5f60b33

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

数据结构与算法/数据结构.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,25 +78,29 @@
7878
* **6 红黑树**
7979

8080
- 红黑树特点:
81-
1. 每个节点非红即黑;
82-
2. 根节点总是黑色的;
83-
3. 每个叶子节点都是黑色的空节点(NIL节点);
84-
4. 如果节点是红色的,则它的子节点必须是黑色的(反之不一定);
85-
5. 从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)
81+
1. 每个节点非红即黑;
82+
2. 根节点总是黑色的;
83+
3. 每个叶子节点都是黑色的空节点(NIL节点);
84+
4. 如果节点是红色的,则它的子节点必须是黑色的(反之不一定);
85+
5. 从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)
8686

8787
- 红黑树的应用:
8888

8989
TreeMap、TreeSet以及JDK1.8之后的HashMap底层都用到了红黑树。
90+
91+
- 为什么要用红黑树
92+
93+
简单来说红黑树就是为了解决二叉查找树的缺陷,因为二叉查找树在某些情况下会退化成一个线性结构。详细了解可以查看 [漫画:什么是红黑树?](https://juejin.im/post/5a27c6946fb9a04509096248#comment)(也介绍到了二叉查找树,非常推荐)
9094
91-
- 推荐文章
95+
- 推荐文章
9296
- [漫画:什么是红黑树?](https://juejin.im/post/5a27c6946fb9a04509096248#comment)(也介绍到了二叉查找树,非常推荐)
9397
- [寻找红黑树的操作手册](http://dandanlove.com/2018/03/18/red-black-tree/)(文章排版以及思路真的不错)
9498
- [红黑树深入剖析及Java实现](https://zhuanlan.zhihu.com/p/24367771)(美团点评技术团队)
9599
* **7 B-,B+,B***
96100

97101
[二叉树学习笔记之B树、B+树、B*](https://yq.aliyun.com/articles/38345)
98102

99-
[《B-树,B+树,B*树详解》](https://blog.csdn.net/aqzwss/article/details/53074186)
103+
[《B-树,B+树,B*树详解》](https://blog.csdn.net/aqzwss/article/details/53074186)
100104

101105
[《B-树,B+树与B*树的优缺点比较》](https://blog.csdn.net/bigtree_3721/article/details/73632405)
102106

0 commit comments

Comments
 (0)
0