zset 底层的实现原理以及时间复杂度分析

1、跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。简单说来跳表也是链表的一种,只不过它在链表的基础上增加了跳跃功能,正是这个跳跃的功能,使得在查找元素时,跳表能够提供O(logN)的时间复杂度。
2、zset底层数据结构?简单说说跳表底层的数据结构?
压缩列表,跳表 ,压缩列表本质上是一个数组,跳表 ,跳表也是链表的一种,只不过它在链表的基础上增加了跳跃功能
3、什么时候采用压缩列表、什么时候采用跳表呢?
元素数量小于128个,所有元素的长度小于64字节
4、跳表的时间复杂度
跳表时间复杂度是log n(落可恩)
5、简单描述一下跳表如何查找某个元素呢?
通过建立索引层级,增加多级索引,通过多级索引位置的转跳,先找个区间的起点,然后依次往后遍历,实现快速查找元素
6、zset为什么用跳表而不用二叉树或者红黑树呢?
范围查找- 跳表效率比红黑树高:我们要查找某个区间的元素,先找个区间的起点,然后依次往后遍历
跳表的实现比红黑树简单,容易懂

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值