美文网首页
Redis-数据结构-跳跃表

Redis-数据结构-跳跃表

作者: 稻壳_be03 | 来源:发表于2019-06-28 09:14 被阅读0次

跳跃表(skiplist)

        跳跃表是一种有序数据结构,通过在每个节点中维护多个指向其他节点的指针,达到快速访问节点的目的。

查找算法复杂度:平均O(logN)、最坏O(N)

1、结构及实现

1.1跳跃表

header: 指向表头节点的指针

tail: 指向表尾节点的指针

level: 跳跃表内层数最大的节点的层数(不包含表头节点层数)

length: 跳跃表的长度,即跳跃表目前包含的节点数量(不包含表头节点)

1.2跳跃表节点

obj: 成员对象

score: 分值,跳跃表中,节点按各自保存的分值从小到大排列

backward: 后退指针,指向当前节点的前一个节点,用于从表尾向表头遍历

level:  

    forward:前进指针,用于访问位于表尾方向的其他节点

    span:跨度,记录前进指针所指向的节点和当前节点的距离

相关文章

  • Redis-数据结构-跳跃表

    跳跃表(skiplist) 跳跃表是一种有序数据结构,通过在每个节点中维护多个指向其他节点的指针,达到快速访问节点...

  • 跳跃表和ConcurrentSkipListMap

    跳跃表 跳跃表是什么 跳跃表是一种有序的数据结构,通过每个节点维持指向多个其他节点的指针,来达到快速访问节点, 查...

  • redis笔记

    redis基础知识 数据结构 底层数据结构 SDS 双向链表 压缩列表 跳跃表 Hash表 整数数组 对外数据结构...

  • Redis(2)——跳跃表

    一、跳跃表简介 跳跃表(skiplist)是一种随机化的数据结构,由 William Pugh 在论文《Skip ...

  • Redis 跳跃表(skiplist)

    Redis基础类型中的有序集合、集群节点的内部数据结构用到了跳跃表(skiplist)。 5.1 跳跃表的实现 图...

  • Redis 跳表

    跳跃表 跳跃表是一种有序的数据结构,通过在每个节点查找,还可以通过顺序性操作来批处理节点。跳跃表的效率可以和平衡树...

  • Redis设计与实现-笔记(二)

    数据结构与对象 跳跃表 跳跃表是有序集合的底层实现之一, 除此之外它在 Redis 中没有其他应用。 Redis ...

  • redis基本数据结构

    redis 基本数据结构. redis的基本数据结构主要有: SDS动态字符串,链表,字典,哈希表,跳跃表,整数集...

  • Redis设计与实现4 有序集合对象(跳跃表)的介绍

    跳跃表  跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速...

  • redis 基础-数据结构-跳跃表

    跳跃表定义: 跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到...

网友评论

      本文标题:Redis-数据结构-跳跃表

      本文链接:https://www.haomeiwen.com/subject/iuwxcctx.html