数据结构
蔡小鱼儿
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap实现原理及源码分析
ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进行分析(JDK1.7).ConcurrentHashMap实...转载 2018-06-19 08:58:23 · 114 阅读 · 0 评论 -
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 HashMap 众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具...转载 2018-10-12 17:10:04 · 105 阅读 · 0 评论 -
用Java写算法之五:快速排序
快速排序是一个知名度极高的排序算法,其对于大数据的优秀排序性能和相同复杂度算法中相对简单的实现使它注定得到比其他算法更多的宠爱。 算法概述/思路 快速排序一般基于递归实现。其思路是这样的: 1.选定一个合适的值(理想情况中值最好,但实现中一般使用数组第一个值),称为“枢轴”(pivot)。 2.基于这个值,将数组分为两部分,较小的分在左边,较大的分在右边。 3.可以肯定,如此一轮下...转载 2019-01-24 08:35:57 · 136 阅读 · 0 评论 -
什么是B+Tree
B+Tree的定义 B+Tree是B树的变种,有着比B树更高的查询性能,来看下m阶B+Tree特征: 1、有m个子树的节点包含有m个元素(B-Tree中是m-1) 2、根节点和分支节点中不保存数据,只用于索引,所有数据都保存在叶子节点中。 3、所有分支节点和根节点都同时存在于子节点中,在子节点元素中是最大或者最小的元素。 4、叶子节点会包含所有的关键字,以及指向数据记录的指针,并且叶子节...转载 2019-03-22 11:19:10 · 2954 阅读 · 0 评论