如图,简单来说,跳表就是在一个有序链表的上层添加索引层(有序链表的升级)
比如图中,原本的有序链表只是最下面的那一行,从1到100,但我们知道链表由于没有下标,只能通过指针一个一个遍历,因此查询效率慢,而跳表的数据结构就是在原本的有序链表上每隔n个数据往上提取一层,制造出更简短的有序链表充当索引的功能。
这样,当我们查询图中的32时,就不需要再一个一个遍历,而是从最上一层开始,从1直接跳到25再跳到100,当发现100超过查询数时,就会返回25的下一层继续查询。
数据越多,跳表对于查询速度的提升效果越明显。
redis中的zset类型数据的一种底层数据结构就是跳表。