数据结构-跳跃表

在使用和阅读lucene源代码时,发现为了提高查找的性能,Lucene在很多地方采取的跳跃表的数据结构。

跳跃表(Skip List)是如图的一种数据结构,有以下几个基本特征:

  • 元素是按顺序排列的,在Lucene中,或是按字典顺序排列,或是按从小到大顺序排列。
  • 跳跃是有间隔的(Interval),也即每次跳跃的元素数,间隔是事先配置好的,如图跳跃表的间隔为3。
  • 跳跃表是由层次的(level),每一层的每隔指定间隔的元素构成上一层,如图跳跃表共有2层。

看了redisbook中也有关于该数据结构的详细介绍

http://www.redisbook.com/en/latest/internal-datastruct/skiplist.html

Skip List(跳跃表)原理详解与实现

http://dsqiu.iteye.com/blog/1705530

原文地址:https://www.cnblogs.com/visionwang/p/3234501.html