码迷,mamicode.com
首页 >  
搜索关键字:跳表    ( 107个结果
红黑树、B(+)树、跳表、AVL等数据结构,应用场景及分析,以及一些英文缩写
在网上学习了一些材料。 这一篇:https://www.zhihu.com/question/30527705 另外Redis作者描述的使用跳表的原因: 上面文章中有一些英文缩写,整理如下: 红黑树与B(+)树工程实现的比较: 从各自特点特征角度,分析各种数据结构的应用场景: 红黑树的介绍可以看这两 ...
分类:其他好文   时间:2016-10-22 18:12:43    阅读次数:891
SkipList 跳表
为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树, 还要参考网上的代码,相当 ...
分类:其他好文   时间:2016-09-19 17:58:15    阅读次数:162
skip list跳跃表实现
跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,跳表是由William Pugh发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是 链表的一种,只不过它在链表的基础上增加了跳跃功能,正是这个跳跃的功 ...
分类:其他好文   时间:2016-08-08 12:44:56    阅读次数:290
JUC源码分析16-集合-ConcurrentSkipListMap、ConcurrentSkipListSet
NBA这赛季结束,勇士可惜啊,谁能想到没拿到冠军,库昊也没成为真正的老大,lbl一战封神,所有口水留言都变成羡慕嫉妒恨,哎,我库啊,还是还是看书吧。 ConcurrentSkipListMap说实话,之前还真没注意过,还是看JUC才看到,利用skiplist跳表结构来实现一种有序的map,之前看到的map都是无序。在学习前还是要好好了解下什么是skiplist跳表,的确很不错,利用空间换时间,复...
分类:其他好文   时间:2016-06-23 13:00:25    阅读次数:266
redis-sort set
有序集合 sorted set和set一样也是string类型元素的集合,不同的是每个元素都会关联一个double类型的score。sorted set的实现是skip list(跳表)和hash table的混合体当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1),另一个score到元素的映射被添加到skip...
分类:其他好文   时间:2016-05-13 01:50:09    阅读次数:184
JDK容器与并发—Map—ConcurrentSkipListMap
概述       基于跳表实现的ConcurrentNavigableMap。 1)containsKey、get、put、remove等操作的平均时间复杂度为log(n);size非固定时间操作,因异步特性,需要遍历所有节点才能确定size,且可能不是正确的值如果遍历过程中有修改;批量操作:putAll、equals、toArray、containsValue、clear非原子性。 2)增...
分类:其他好文   时间:2016-04-22 20:19:28    阅读次数:211
Redis 2.8.9 源码阅读笔记,索引目录
字符串对象的实现 双端链表 字典的实现 跳表的实现 IO操作实现 RDB模块 AOF模块 ae事件模块
分类:其他好文   时间:2015-09-16 12:56:31    阅读次数:116
LevelDB源码之一SkipList
SkipList称之为跳表,可实现Log(n)级别的插入、删除。和Map、set等典型的数据结构相比,其问题在于性能与插入数据的随机性有关,这和Q-Sort于Merge-Srot类似。LevelDB做为单机数据库存储系统,正常操作下,整体(随机读写、顺序读写)性能上明显优于同类型的SQLite等数据...
分类:数据库   时间:2015-09-12 16:05:50    阅读次数:277
跳表每一层元素数量概率问题
可表述为:从第一层开始,逐次向上一层,对每层进行掷硬币操作,如果0则不插入,如果为1则插入。对于第一层,元素有1/2概率插入。如果掷硬币结果为0,则对第二层进行掷硬币操作,元素有1/2(不插入第一层的概率)*1/2(插入第二层的概率)概率插入,以此类推,如果跳表已经有n层,而前n次掷硬币的操作结果都...
分类:其他好文   时间:2015-09-09 11:25:45    阅读次数:186
浅识SkipList
跳表(SkipList)简介: 给你一个有序数组,如果现在需要查找某一个数字,你可能会用二分法。 但是如果给你的是一个有序链表,那就用不上二分法了,你能想到什么方法? 跳表是一种很好的选择,理解和实现出来也相对比较容易。     跳表的查询: 例如给出链表: 30 → 40 → 50 → 60 → 70 → 90 现在要插入一个 80 ,如果是用普通方法从头到尾逐个搜索的...
分类:其他好文   时间:2015-08-20 13:08:48    阅读次数:131
107条   上一页 1 ... 6 7 8 9 10 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!