SkipList 首先是链表,但是与传统链表相比有几点差异
1.元素按照升序排列存储
2.节点可能包含多个指针,指针跨度不同
跳表结构源码:
跳表特性:
1.跳表是一个双向链表,每个节点都包含 score 和 ele 值
2.节点按照 score 排序,score 一样则按照 ele 字典排序
3.每个节点都可以包含多层指针,层数在 1-32之间,具体多少由redis底层的算法推测,多少合适
4.不同层指针到下一个节点的跨度不同,层级越高,跨度越大
5.增删改查效率与红黑树基本一致,实现却更简单