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