红黑树杀人事件

红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1972年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。

红黑树具有良好的效率,它可在 O(logN) 时间内完成查找、增加、删除等操作。因此,红黑树在业界应用很广泛,比如 Java 中的 TreeMap,JDK 1.8 中的 HashMap、C++ STL 中的 map 均是基于红黑树结构实现的。

简单: 它的理解很简单 ,为了提高查询的效率,它分为了好几个节点进行查询,所说从十亿条数据中查询一条数据的时候,查询次数不到30次,这就见证了算法的微妙之处

复杂:因为简单而复杂,它的理解越简单,它的内部就越复杂,通过左节点和右节点的区分

         左节点: 存放比主节点小的元素

         右节点: 存放比主节点大的元素

这样存放下去左节点和右节点也会作为主节点继续向下传递

Java中的HashMap集合在1.8之后新增了红黑树这个特性

     1、因为原来的数组链表存储量太大

      2、 查询延迟慢

所以HashMap集合在1.8之后添加了红黑树这个新的特性查询效率大了不止1倍!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值