Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coudy Hou
JavaGuide
提交
5f60b338
J
JavaGuide
项目概览
Coudy Hou
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
5f60b338
编写于
8月 16, 2018
作者:
S
Snailclimb
提交者:
GitHub
8月 16, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加使用红黑树的原因
上级
461930ab
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
7 deletion
+11
-7
数据结构与算法/数据结构.md
数据结构与算法/数据结构.md
+11
-7
未找到文件。
数据结构与算法/数据结构.md
浏览文件 @
5f60b338
...
...
@@ -78,17 +78,21 @@
*
**6 红黑树**
-
红黑树特点:
1.
每个节点非红即黑;
2.
根节点总是黑色的;
3.
每个叶子节点都是黑色的空节点(NIL节点);
4.
如果节点是红色的,则它的子节点必须是黑色的(反之不一定);
5.
从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)
1.
每个节点非红即黑;
2.
根节点总是黑色的;
3.
每个叶子节点都是黑色的空节点(NIL节点);
4.
如果节点是红色的,则它的子节点必须是黑色的(反之不一定);
5.
从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)
-
红黑树的应用:
TreeMap、TreeSet以及JDK1.8之后的HashMap底层都用到了红黑树。
-
为什么要用红黑树
简单来说红黑树就是为了解决二叉查找树的缺陷,因为二叉查找树在某些情况下会退化成一个线性结构。详细了解可以查看
[
漫画:什么是红黑树?
](
https://juejin.im/post/5a27c6946fb9a04509096248#comment
)
(也介绍到了二叉查找树,非常推荐)
-
推荐文章
-
推荐文章
:
-
[
漫画:什么是红黑树?
](
https://juejin.im/post/5a27c6946fb9a04509096248#comment
)
(也介绍到了二叉查找树,非常推荐)
-
[
寻找红黑树的操作手册
](
http://dandanlove.com/2018/03/18/red-black-tree/
)
(文章排版以及思路真的不错)
-
[
红黑树深入剖析及Java实现
](
https://zhuanlan.zhihu.com/p/24367771
)
(美团点评技术团队)
...
...
@@ -96,7 +100,7 @@
[
二叉树学习笔记之B树、B+树、B*树
](
https://yq.aliyun.com/articles/38345
)
[《B-树,B+树,B*树详解》](https://blog.csdn.net/aqzwss/article/details/53074186)
[《B-树,B+树,B*树详解》](https://blog.csdn.net/aqzwss/article/details/53074186)
[《B-树,B+树与B*树的优缺点比较》](https://blog.csdn.net/bigtree_3721/article/details/73632405)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录