码迷,mamicode.com
首页 > 其他好文 > 详细

HashMap简述及红黑树

时间:2019-02-24 00:47:51      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:com   包含   红黑树   src   alt   shm   pos   概述   http   

 

HashMap是由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突存在的;在JDK8后,当链表长度大于阈值(默认为8)时,链表转化为红黑树,以减少搜索时间。


 

红黑树简述:

https://juejin.im/post/5a27c6946fb9a04509096248#comment

概述:二叉查找树存在缺陷,当形态结构变得单一化时,查找几乎变为线性查找,效率大打折扣,因此引入红黑二叉树。

规则:
1.节点是红色或黑色。
2.根节点是黑色。
3.每个叶子节点都是黑色的空节点(NIL节点)。
4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

当规则被打破时,为保证红黑树的完整性,可通过【变色】和【旋转】进行调整,使红黑树重新成为规则的结构

【变色】

技术图片

【旋转】

技术图片

 

技术图片

 

HashMap简述及红黑树

标签:com   包含   红黑树   src   alt   shm   pos   概述   http   

原文地址:https://www.cnblogs.com/zbb2161228/p/10424944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!