Skip lists: a probabilistic alternative to balanced trees

@inproceedings{Pugh1990SkipLA,
  title={Skip lists: a probabilistic alternative to balanced trees},
  author={William W. Pugh},
  booktitle={CACM},
  year={1990}
}
  • W. Pugh
  • Published in CACM 17 August 1989
  • Computer Science
Skip lists are data structures that use probabilistic balancing rather than strictly enforced balancing. As a result, the algorithms for insertion and deletion in skip lists are much simpler and significantly faster than equivalent algorithms for balanced trees. 
Balanced Search Trees Made Simple
TLDR
New maintenance algorithms for balanced trees are presented that compare favourably with those for deterministic and probabilistic skip lists and are presented in terms of code simplicity.
Concurrent maintenance of skip lists
TLDR
This paper describes a new approach to providing efficient concurrent access to a dynamic search structure by describing methods for performing concurrent access and updates using skip lists, and formally proves the correctness of those methods.
A skip list cookbook
TLDR
This paper describes and analyzes algorithms to use search fingers, merge, split and concatenate skip lists, and implement linear list operations using skip lists.
Analysis of the Expected Search Cost in Skip Lists
TLDR
The exact value of the expected search cost is derived (in terms of previously studied functions) as well as an asymptotic expression for it, which suggests that Pugh's upper bound is fairly tight for the interesting cases.
Skip Lists-Some Results on a Recent Data Structure ∗
The skip list is a list-based data structure introduced some years ago by Pugh [12]. In [6] an optimized version of the skip list search algorithm has been investigated and an asymptotic result on
Skip Tree Graph: a Distributed and Balanced Search Tree for Peer-to-Peer Networks
TLDR
Skip Tree Graph is a novel, distributed, data structure for peer-to-peer systems that supports exact-match and order-based queries such as range queries efficiently and maintains the underlying balanced tree structures using randomization and local operations, which provides a greater degree of concurrency and scalability.
On the Search Path Length of Random Binary Skip Graphs
TLDR
The skip graph data structure is considered, a load balancing alternative to skip lists, designed to perform better in a distributed environment and it is proved that the maximum length of a search path in a random binary skip graph of size n is of order log n with high probability.
Compressed Perfect Embedded Skip Lists for Quick Inverted-Index Lookups
TLDR
This paper describes how to embed efficiently a compressed perfect skip list in an inverted list, which is possible to skip quickly over unnecessary documents in a web-scale search engine.
Concurrent tries with efficient non-blocking snapshots
TLDR
A non-blocking concurrent hash trie based on shared-memory single-word compare-and-swap instructions that supports standard mutable lock-free operations such as insertion, removing, and copying is described.
Exploring the duality between skip lists and binary search trees
TLDR
It is shown that the skip list can be interpreted as a type of randomly-balanced BST whose simplicity and elegance is arguably on par with that of today's most popular BST balancing mechanisms.
...
...

References

SHOWING 1-10 OF 36 REFERENCES
Concurrent maintenance of skip lists
TLDR
This paper describes a new approach to providing efficient concurrent access to a dynamic search structure by describing methods for performing concurrent access and updates using skip lists, and formally proves the correctness of those methods.
A skip list cookbook
TLDR
This paper describes and analyzes algorithms to use search fingers, merge, split and concatenate skip lists, and implement linear list operations using skip lists.
Analysis of the Expected Search Cost in Skip Lists
TLDR
The exact value of the expected search cost is derived (in terms of previously studied functions) as well as an asymptotic expression for it, which suggests that Pugh's upper bound is fairly tight for the interesting cases.
Sorting and Searching
The first revision of this third volume is a survey of classical computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and
Randomized search trees
  • R. Seidel, C. Aragon
  • Computer Science
    30th Annual Symposium on Foundations of Computer Science
  • 1989
TLDR
A randomized strategy for maintaining balance in dynamically changing search trees that has optimalexpected behavior, and generalizes naturally to weighted trees, where the expected time bounds for accesses and updates again match the worst-case time bounds of the best deterministic methods.
Self-adjusting binary search trees
TLDR
The splay tree, a self-adjusting form of binary search tree, is developed and analyzed and is found to be as efficient as balanced trees when total running time is the measure of interest.
Data Structures and Algorithms
TLDR
The basis of this book is the material contained in the first six chapters of the earlier work, The Design and Analysis of Computer Algorithms, and has added material on algorithms for external storage and memory management.
Randomly balanced binary trees
A procedure to attach a new element to a binary tree at a predefined level is introduced; this insertion algorithm is performed in timeO (ln n), maintains all the properties of binary trees and can
The anatomy of lisp
TLDR
This book uses LISP as a means for relating topics which normally get treated in several separate courses, and uses data structures as the main thread in discussions because a proper appreciation of data structure as abstract objects is a necessary prerequisite to an understanding of modern computer science.
...
...