Summary: Self-Organizing Data Structures
Susanne Albers? and Je ery Westbrook??
Abstract. We survey results on self-organizing data structures for the
search problem and concentrate on two very popular structures: the un-
sorted linear list, and the binary search tree. For the problem of main-
taining unsorted lists, also known as the list update problem, we present
results on the competitiveness achieved by deterministic and random-
ized on-line algorithms. For binary search trees, we present results for
both on-line and o -line algorithms. Self-organizing data structures can
be used to build very e ective data compression schemes. We summarize
theoretical and experimental results.
This paper surveys results in the design and analysis of self-organizing data
structures for the search problem. The general search problem in pointer data
structures can be phrased as follows. The elements of a set are stored in a
collection of nodes. Each node also contains O(1) pointers to other nodes and
additional state data which can be used for navigation and self-organization.
The elements have associated key values, which may or may not be totally or-
dered (almost always they are). Various operations may be performed on the
set, including the standard dictionary operations of searching for an element,