美文网首页
第五章 跳跃表

第五章 跳跃表

作者: 今天不想掉头发 | 来源:发表于2019-07-26 07:31 被阅读0次

跳跃表是有序集合键的底层实现之一,并且在集群节点中用作内部数据结构。如果有一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时,Redis就会使用跳跃表作为有序集合的底层实现。


image.png image.png

跳跃表节点的数据结构:


image.png

跳跃表节点按照score的值从小到大排序,相同的score按照obj对象字典序排序。

跳跃表的数据结构:


image.png

header和tail用于获取跳跃表表头和表尾节点;length用于获取跳跃表长度;level用于获取跳跃表中层数最大的节点的层数量(不包括表头节点的层高)

image.png

跳跃表的具体查找插入删除流程:
http://www.cppblog.com/mysileng/archive/2013/04/06/199159.html

相关文章

  • 第五章 跳跃表

    跳跃表是有序集合键的底层实现之一,并且在集群节点中用作内部数据结构。如果有一个有序集合包含的元素数量比较多,又或者...

  • 第五章 跳跃表

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

  • Redis Sorted-set有序集合的实现原理

    什么是跳跃表?跳跃表

  • 跳跃表

    什么是跳跃表 跳跃表(skiplist)是一种基于有序链表的扩展,简称跳表 时间和空间复杂度 插入的时间复杂度是:...

  • 跳跃表

    跳跃表是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间)...

  • 跳跃表

    Skip List是一种随机化的数据结构,基于并联的链表,其效率可比拟于二叉查找树.基本上,跳跃列表是对有序的链表...

  • 跳跃表

    最近在看redis源码,其中看到跳跃表的部分。无奈大学期间数据结构学的基本上都快忘没了,在网上找了个介绍跳跃表的两...

  • 跳跃表

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

  • 跳跃表

    Skip List定义 Skip List 完整实现 下面是跳表的基本操作 节点的创建 列表的初始化列表的初始化需...

  • 跳跃表

    先看下面这个图。 这里的数据结构就是跳跃表。这个结构比较简单,在底层有一个有序链表,链表的两端有一个哨兵结点。在第...

网友评论

      本文标题:第五章 跳跃表

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