- 博客(3)
- 收藏
- 关注
原创 HashMap源码详解03-红黑树全部代码
文章目录红黑树代码红黑树打印代码红黑树测试代码HashMap源码详解01-红黑树插入HashMap源码详解02-红黑树删除红黑树代码只实现了插入和删除,查找与二叉查找树相同。直接运行RBTreeTest即可测试红黑树。红黑树代码public class RBTree<T extends Comparable<T>> { private static final boolean RED = true; private static final boole
2021-04-11 19:48:48
193
原创 HashMap源码详解02-红黑树删除
文章目录红黑树删除平衡说明删除结点删除后平衡红黑树删除平衡说明在描述之前先做一些定义:待删除结点是x,父节点是p,兄弟结点是s,兄弟结点左子节点是sl,兄弟结点右子节点是sr。先说结论,待删除结点最后只会有3种情景:情景1:待删除结点x只存在一个子结点,可以是左子节点或者右子节点,并且必须是待删除结点是黑色,子结点是红色。此时只需要删除x,使用子结点替代x,并且将子结点染成x颜色即可。情景2:待删除结点x不存在子结点,并且是红色结点。此时直接删除x,不需要做调整。情景3:待删除结点x不存在子结
2021-04-11 19:38:11
205
原创 HashMap源码详解01-红黑树插入
文章目录红黑树性质(算法导论)红黑树插入插入结点插入后平衡参考文档红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型用途是实现关联数组。它在1972年由鲁道夫·贝尔发明,被称为"对称二叉B树",它现代的名字源于Leo J. Guibas和Robert Sedgewick于1978年写的一篇论文。红黑树的结构复杂,但它的操作有着良好的最坏情况运行时间,并且在实践中高效:它可以在O(log n)时间内完成查找、插入和删除,这里的n是树中元素的数目。红
2021-04-11 17:36:49
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人