Full text (gzip-compressed postscript)
In this paper we introduce the notion of approximate data
structures, in which a small amount of error is tolerated in the
output. Approximate data structures trade error of approximation for
faster operation, leading to theoretical and practical speedups for a
wide variety of algorithms. We give approximate variants of the van
Emde Boas data structure, which support the same dynamic operations as
the standard van Emde Boas data structure, except that answers to
queries are approximate. The variants support all operations in
constant time provided the error of approximation is
,
and in
time provided the error is
,
for n elements in the data
structure.
We consider the tolerance of prototypical algorithms to approximate data
structures. We study in particular Prim's minimum spanning tree
algorithm, Dijkstra's single-source shortest paths algorithm, and an
on-line variant of Graham's convex hull algorithm. To obtain output
which approximates the desired output with the error of approximation
tending to zero, Prim's algorithm requires only linear time, Dijkstra's
algorithm requires
time, and the on-line variant of
Graham's algorithm requires constant amortized time per operation.