男人和女人做污的视频网站,网站做关键词库的作用,wordpress最新功能,国际电商平台排名跳跃表(跳表)
简介
有序集合在生活中比较常见#xff0c;例如根据成绩对学生排名#xff0c;根据得分对玩家排名等。对于有序集合的底层实现#xff0c;可以用数组、平衡树、链表等。数组不便元素的插入、删除#xff1b;平衡树或红黑树虽然效率高但结构复杂#xff1b;…跳跃表(跳表)
简介
有序集合在生活中比较常见例如根据成绩对学生排名根据得分对玩家排名等。对于有序集合的底层实现可以用数组、平衡树、链表等。数组不便元素的插入、删除平衡树或红黑树虽然效率高但结构复杂链表查询需要遍历所有效率低。Redis采用的是跳跃表。跳跃表效率堪比红黑树实现远比红黑树简单。
实例
对比有序链表和跳跃表从链表中查询出51
有序链表 要查找值为51的元素需要从第一个元素开始依次查找、比较才能找到。共需要6次比较。
跳跃表 从第2层开始1节点比51节点小向后比较。
21节点比51节点小继续向后比较后面就是NULL了所以从21节点向下到第1层
在第1层41节点比51节点小继续向后61节点比51节点大所以从41向下
在第0层51节点为要查找的节点节点被找到共查找4次。
从此可以看出跳跃表比有序链表效率要高