Affiliation:
1. Max-Planck Institute for Informatics, Saarbrücken, Germany
2. Alexandria University, Alexandria, Egypt
3. University of Copenhagen, Denmark
Abstract
We consider space-bounded computations on a random-access machine, where the input is given on a read-only random-access medium, the output is to be produced to a write-only sequential-access medium, and the available workspace allows random reads and writes but is of limited capacity. The length of the input is
N
elements, the length of the output is limited by the computation, and the capacity of the workspace is
O
(
S
) bits for some predetermined parameter
S
≥ lg
N
. We present a state-of-the-art priority queue—called an
adjustable navigation pile
—for this restricted model. This priority queue supports M
inimum
in
O
(1) time, C
onstruct
in
O
(
N
) time, and E
xtract
-
min
in
O
(
N
/
S
+ lg
S
) time for any
S
≥ lg
N
. The priority queue can be further augmented in
O
(
N
) time to deal with a batch of at most
S
elements in a specified range of values at a time, and allow to I
nsert
(activate) or E
xtract
(deactivate) an element among these elements, such that I
nsert
and E
xtract
take
O
(
N
/
S
+ lg
S
) time for any
S
≥ lg
N
. We show how to use our data structure to sort
N
elements and to compute the convex hull of
N
points in the Euclidean plane in
O
(
N
2
/
S
+
N
lg
S
) time for any
S
≥ lg
N
. Following a known lower bound for the space-time product of any branching program for finding unique elements, both our sorting and convex-hull algorithms are optimal. The adjustable navigation pile has turned out to be useful when designing other space-efficient algorithms, and we expect that it will find its way to yet other applications.
Publisher
Association for Computing Machinery (ACM)
Subject
Mathematics (miscellaneous)