A Skip List Cookbook

Loading...
Thumbnail Image

Files

CS-TR-2286.1.ps (270.13 KB)
No. of downloads: 788
CS-TR-2286.1.pdf (61.51 KB)
No. of downloads: 11474

Publication or External Link

Date

1998-10-15

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)

Notes

Rights