A Skip List Cookbook
A Skip List Cookbook
Files
Publication or External Link
Date
1998-10-15
Authors
Pugh, William
Advisor
Citation
DRUM DOI
Abstract
Skip lists are a probabilistic list-based data structure that are
a simple and efficient substitute for balanced trees. Skip list algorithms
have the same asymptotic expected time bounds as balanced trees and are
simpler, faster and use less space. The original paper on skip lists only
presented algorithms for search, insertion and deletion. In this paper, we
show that skip lists are as versatile as balanced trees. We describe and
analyze algorithms to use search fingers, merge, split and concatenate
skip lists, and implement linear list operations using skip lists. The
skip list algorithms for these actions are simpler than their balanced
tree cousins and at least as fast. The merge algorithm for skip lists we
describe has better asymptotic time complexity than any previously
described merge algorithm for balanced trees.
(Also cross-referenced as UMIACS-TR-89-72.1)