跳跃表是在链表的基础上创造出来的,和Java的ConcurrentSkipListMap类差不多,但是还是有一定区别,不过认为相同即可,非常效率,如果非要说有什么缺点,我个人觉得应该是使用空间换时间,但是绝对更划算

注意:跳跃表主要应用于有序集合,无序集合不可以,关于跳跃表的结构我已经画出来了,所以代码就省略了,特别简单

Redis-数据结构03-跳跃表(skiplist)_数据结构


首先,从最高层(示例中第四层)找数据

1.如果找到,则下至最底层(第3层)遍历数据

2.如果没找到,则向下挪1层(第3层),再向后挪1段,也就是图中的第3层的数据5至数据9,如果找到,则重复步骤1,如果没找到,则重复步骤2