LearnViz CompSci
Home / Learn / Data Structures / Skip Lists

Intermediate Topic 32 of 52 Data Structures

Skip Lists

Layered linked lists enabling probabilistic logarithmic search.

How it works

A skip list stacks several sorted linked lists in layers, where higher layers skip over many elements. Each inserted node is promoted to higher levels with a coin flip, giving an expected O(log n) search, insert and delete without rotations. Search starts at the top level, moves right while the next key is smaller and drops down a level when it would overshoot.

Step-by-step walkthrough

  1. Higher levels are sparse express lanes over the bottom list.
  2. Search starts at the top level and moves right while the next key is not too big.
  3. It drops down a level when the next key would overshoot.
  4. It drops again and walks a few steps at the bottom.
  5. Random level choice gives expected O(log n) search with simple insertion.

Where it is used

Redis sorted sets, LevelDB and RocksDB memtables, and concurrent ordered maps in Java use skip lists. They are simpler to implement than balanced trees and easier to make lock-free.

Common pitfall

Performance is probabilistic, so the worst case can be poor with unlucky randomness. Memory overhead comes from multiple forward pointers per node. Poor random number generators bias levels, and deleting requires updating pointers on every level. Cap the maximum level sensibly.

Where it fits in the course

Skip Lists is topic 32 of 52 in Data Structures, rated Intermediate. It follows Path Compression. The next topic is Bloom Filters.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Data Structures quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Skip Lists?
Layered linked lists enabling probabilistic logarithmic search. It belongs to Data Structures and is an intermediate-level topic.
Where do people use Skip Lists?
Redis sorted sets, LevelDB and RocksDB memtables, and concurrent ordered maps in Java use skip lists.
What is the most common mistake with Skip Lists?
Performance is probabilistic, so the worst case can be poor with unlucky randomness.
What should I learn before this topic?
Start with Path Compression, the topic just before it in Data Structures.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Data Structures quiz.
Is Skip Lists hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Skip Lists?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Skip Lists?
Path Compression, Bloom Filters, Disjoint Set Union are closely connected. The full list is in the related topics section of this page.
What should I study after Skip Lists?
Continue with Bloom Filters, the next topic in Data Structures.

Related topics