码迷,mamicode.com
首页 >  
搜索关键字:skiplist    ( 84个结果
Redis 设计与实现 10:五大数据类型之有序集合
有序集合有两种编码方式:压缩列表 ziplist 和跳表 skiplist。 ...
分类:其他好文   时间:2021-01-16 12:09:10    阅读次数:0
【数据结构】跳表(SkipList)代码实现之ConcurrentSkipListMap
承接【数据结构】跳表(SkipList)原理篇,本篇文章我们来分析下如何使用代码实现SkipList。在JDK中并没有SkipList的直接实现,当然我们可以自己写代码实现,但是为了给后面“一致性Hash算法”系列文章做铺垫, 这里我选择 ConcurrentSkipListMap 类来进行分析。 ...
分类:其他好文   时间:2020-12-29 11:19:49    阅读次数:0
跳跃表
跳跃表:dash: 一.它是什么?:question: 跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而快速访问节点的目的 二.时间复杂度:exclamation: 平均O(logN) 、 最坏O(N),还可以通过顺序性操作来批处理节点 三.什么时候用 ...
分类:其他好文   时间:2020-12-01 12:12:35    阅读次数:5
java 实现跳表(skiplist)及论文解读
什么是跳跃表跳表由WilliamPugh发明。他在论文《Skiplists:aprobabilisticalternativetobalancedtrees》中详细介绍了跳表的数据结构和插入删除等操作。跳表是一种可以用来代替平衡树的数据结构,跳表使用概率平衡而不是严格执行的平衡,因此,与等效树的等效算法相比,跳表中插入和删除的算法要简单得多,并且速度要快得多。为什么需要?性能比较好。实现相对于红黑
分类:编程语言   时间:2020-11-13 13:02:55    阅读次数:17
Redis源码剖析之压缩列表(ziplist)
本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽然是list,当主要和set命令相关,所以会放到后面。 本文 ...
分类:其他好文   时间:2020-10-08 18:16:17    阅读次数:20
Kafka日志存储
1.文件目录布局 Kafka消息以日志文件的形式存储,不同主题下不同分区的消息分开存储,同一个分区的不同副本分布在不同的broker上存储 逻辑上看来日志是以副本为单位的,每个副本对应一个log对象,实际在物理上,一个log划分为多个logSegment 创建一个topic为3个分区,会在log.d ...
分类:其他好文   时间:2020-08-05 00:12:43    阅读次数:100
Redis系列(十二):数据结构SortedSet跳跃表中基本操作命令和源码解析
1.SkipList Redis的sortedSet数据结构是有序不重复的(索引为唯一的,数据(score)却可以重复), 跳表是redis的一个核心组件,也同时被广泛地运用到了各种缓存地实现当中,它的主要优点, 就是可以跟红黑树、AVL等平衡树一样,做到比较稳定地插入、查询与删除。理论插入查询删除 ...
分类:其他好文   时间:2020-07-02 16:23:09    阅读次数:41
【LevelDB源码阅读】Arena
是什么 内存分配管理器,主要为skiplist即Memtable服务而不是整个项目。申请内存时,将申请到的内存直接放入vector中,在Arena的生命周期结束后,统一释放掉所有申请的内存,内部结构如下图: 为什么要用 避免内存碎片,skiplist里面记录的都是用户传进来的key/value,这些 ...
分类:数据库   时间:2020-06-09 09:51:40    阅读次数:65
Kafka源码解析(一)---LogSegment以及Log初始化
我们先回想一下Kafka的日志结构是怎样的? Kafka 日志对象由多个日志段对象组成,而每个日志段对象会在磁盘上创建一组文件,包括消息日志文件(.log)、位移索引文件(.index)、时间戳索引文件(.timeindex)以及已中止(Aborted)事务的索引文件(.txnindex)。当然,如 ...
分类:其他好文   时间:2020-06-08 00:17:30    阅读次数:63
【Redis】跳跃表原理分析与基本代码实现(java)
最近开始看Redis设计原理,碰到一个从未遇见的数据结构:跳跃表(skiplist)。于是花时间学习了跳表的原理,并用java对其实现。 主要参考以下两本书: 《Redis设计与实现》跳表部分:主要介绍跳表在Redis中如何实现; 《算法:C语言实现(第1~4部分)》的13.5节:介绍跳表的算法。 ...
分类:编程语言   时间:2020-05-06 21:50:25    阅读次数:85
84条   1 2 3 4 ... 9 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!