码迷,mamicode.com
首页 > 其他好文 > 详细

redis跳跃表

时间:2019-03-30 13:32:39      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:lis   有序列表   数组   list   time   没有   特点   usr   链表   

最近在阅读redis设计与实现,关于redis数据结构zset的一种底层实现跳跃表一直没有太理解,所以在搜了一下资料,终于搞懂了它的设计思路,记录一下。

参考链接:https://mp.weixin.qq.com/s?src=11&timestamp=1553915878&ver=1515&signature=SuSdA-Ka7Bs7CzSnNHgHFR7DkFFibGdRUui-FkuSRn2OJOkn6uvGznFMheSfoxaSHYlcgfGnBQ9imQdTAg5hiaqp2pq2Cn6LWIjN-ZonEvUwLrWwjMxs1WjTFx1A6Wkb&new=1

技术图片

跳跃表(英文名:Skip List),于 1990 年 William Pugh 发明,是一个可以在有序元素中实现快速查询的数据结构,其插入,查找,删除操作的平均效率都为 O(logn),当需要实现有序列表时,如果使用数组,查找是很快速的,但是插入、删除需要移动大量的元素,成本太大;如果使用链表,虽然插入、删除很方便,但是查询确实O(n)的,当数据量比较大时,这个效率是不能接受的。跳跃表就是综合了数组和链表的特点,使用空间换时间的方法,提升了查询的效率。

redis跳跃表

标签:lis   有序列表   数组   list   time   没有   特点   usr   链表   

原文地址:https://www.cnblogs.com/lit10050528/p/10626540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!