跳表的基本结构:
Redis为什么使用跳表实现有序集合?
1.redis的有序集合中有一个很重要的操作是,按照区间查找数据。
跳表可以做到 O(logn) 的时间复杂度定位区间的起点,然后在原始链表中顺序往后遍历就可以了。这样做非常高效。
2.跳表更容易代码实现。虽然跳表的实现也不简单,但比起红黑树来说还是好懂、好写多了,而简单就意味着可读性好,不容易出错。
3.跳表更加灵活,它可以通过改变索引构建策略,有效平衡执行效率和内存消耗。
跳表的基本结构:
Redis为什么使用跳表实现有序集合?
1.redis的有序集合中有一个很重要的操作是,按照区间查找数据。
跳表可以做到 O(logn) 的时间复杂度定位区间的起点,然后在原始链表中顺序往后遍历就可以了。这样做非常高效。
2.跳表更容易代码实现。虽然跳表的实现也不简单,但比起红黑树来说还是好懂、好写多了,而简单就意味着可读性好,不容易出错。
3.跳表更加灵活,它可以通过改变索引构建策略,有效平衡执行效率和内存消耗。