数据结构-跳表

  • 跳表是基于有序链表的一种二分查找法,通过构建多级索引(空间换时间),来提高查询的效率,因此跳表的删除、添加、查询,时间复杂度都不高,都为O(log n),但是空间复杂度有点高为O(n);


  • 数据结构-跳表

  • 跳表索引动态更新
    极端的情况下,动态的添加元素,两个索引之间可能会有非常多的数据,这个时候两个索引的数据相当于单链表。那如何来解决这个问题呢,我们可以通过随机函数来决定这个数要插入到多少级的缓存中。

  • 红黑树与跳表对比
    删除、插入、查询时间复杂度都一样,都为O(log n)
    代码实现上跳表要简单很多,而且跳表在其顺序遍历和区间查找非常方便,所以现在底层数据都采用了跳表。