码迷,mamicode.com
首页 >  
搜索关键字:跳跃表    ( 103个结果
SkipList (跳跃表)解析及其实现
[TOC] 导言 伊苏系列是电子游戏(音乐)公司Falcom所制作的一套动作角色扮演游戏(ARPG)系列,该系列的剧情围绕着冒险家————亚特鲁·克里斯汀的冒险故事展开。伊苏·起源是这个系列中我最喜欢的作品之一,喜欢的原因之一是这部作品是以一座魔物修建的垂直耸立、直通天际的未完成建筑————达姆之塔 ...
分类:其他好文   时间:2020-03-08 09:19:09    阅读次数:143
Redis中的数据结构
redis中的SDS Simple Dynamic String 简单动态字符串 定义了一个sds结构体,使用不同的结构体来保存不同长度大小的字符串 sdshdr5/8/16/32 分别对应 长度为2^5 1等 除了一个 成员变量之外还有 具体使用哪一个结构体,sds底层是通过flags属性与 做与 ...
分类:其他好文   时间:2020-03-07 20:40:01    阅读次数:62
redis模型(2):redis对象
一、对象 Redis使用对象来表示数据库中的键和值,每次当我们在redis的数据库中新创建一个键值对时,我们至少会创建两个对象,一个键对象,一个值对象。 Redis中的每个对象都由一个redisObject结构表示。 typedef struct redisObject { // 对象类型 unsi ...
分类:其他好文   时间:2020-03-02 22:28:55    阅读次数:67
程序员必须掌握的核心算法有哪些?
一、算法最最基础1、时间复杂度2、空间复杂度一般最先接触的就是时间复杂度和空间复杂度的学习了,这两个概念以及如何计算,是必须学的,也是必须最先学的,主要有最大复杂度、平均复杂度等,直接通过博客搜索学习即可。文章推荐:算法分析神器—时间复杂度二、基础数据结构1、线性表列表(必学)链表(必学)跳跃表(知道原理,应用,最后自己实现一遍)并查集(建议结合刷题学习)不用说,链表、列表必须,不过重点是链表。三
分类:编程语言   时间:2020-02-27 18:47:55    阅读次数:65
redis 5.0.7 源码阅读——跳跃表skiplist
redis中并没有专门给跳跃表两个文件。在5.0.7的版本中,结构体的声明与定义、接口的声明在server.h中,接口的定义在t_zset.c中,所有开头为zsl的函数。 一、数据结构 单个节点: typedef struct zskiplistNode { //key,唯一 sds ele; // ...
分类:其他好文   时间:2020-02-04 15:42:42    阅读次数:53
《redis设计与实现》目录
一、数据结构与对象 1. 简单动态字符串 2. 链表 3. 字典 4. 跳跃表 5. 整数集合 6. 压缩列表 7. 对象   二、单击数据库的实现 1. 数据库 2. RDB持久化 3. AOF持久化 4. 事件 5. 客户端 6. 服务端   三、多机数据库的实现 1. 复制 ...
分类:其他好文   时间:2020-01-01 14:57:20    阅读次数:117
理解redis调表
跳跃表简介 我们先抛开redis,单独了解下跳越表 skiplist数据结构简介 skiplist,顾名思义,首先它是一个list。实际上,它是在有序链表的基础上发展起来的。 我们先来看一个有序链表,如下图(最左侧的灰色节点表示一个空的头结点): 在这样一个链表中,如果我们要查找某个数据,那么需要从 ...
分类:其他好文   时间:2019-12-28 15:50:33    阅读次数:150
你真的了解数组吗?
前言: 数组,应该是我们每个人学习编程时接触的第一个数据结构。它很简单,但是却很重要。 为什么这么说呢? 很多高级的数据结构,其实都是由数组组成的,或者说是用数组来实现的。 比如跳跃表、散列表是由数组+链表组成的。 堆、完全二叉树、图(邻接矩阵存储)都可以用数组来实现。 所以说学好数组,就等于为你学 ...
分类:编程语言   时间:2019-12-03 23:07:03    阅读次数:131
Redis 高级数据结构:七、有序集合对象
概述 有序集合是ziplist或者skiplist ziplist就是压缩列表,ZADD时 就根据分值来排序 skiplist会复杂一些,他的底层有两个数据结构,一个是跳跃表,一个是字典 dict的作用是定义key和score的关系。两个结构都保存了所有元素,对范围操作和根据key定位分值这种操作就 ...
分类:其他好文   时间:2019-11-23 22:11:41    阅读次数:72
跳表 SkipList
跳跃表实现简单,空间复杂度和时间复杂度也较好,Redis中使用跳表而不是红黑树。 实现参考了: "跳跃列表 维基百科,自由的百科全书" 《Redis设计与实现》第五章 跳跃表 Redis源码3.0分支src/t_zset.c等文件 插入时的核心逻辑: 1. 找到插入的位置 2. 随机得到新插入节点的 ...
分类:其他好文   时间:2019-11-20 16:54:47    阅读次数:71
103条   上一页 1 2 3 4 ... 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!