5 research outputs found
Selection from read-only memory with limited workspace
Given an unordered array of elements drawn from a totally ordered set and
an integer in the range from to , in the classic selection problem
the task is to find the -th smallest element in the array. We study the
complexity of this problem in the space-restricted random-access model: The
input array is stored on read-only memory, and the algorithm has access to a
limited amount of workspace. We prove that the linear-time prune-and-search
algorithm---presented in most textbooks on algorithms---can be modified to use
bits instead of words of extra space. Prior to our
work, the best known algorithm by Frederickson could perform the task with
bits of extra space in time. Our result separates
the space-restricted random-access model and the multi-pass streaming model,
since we can surpass the lower bound known for the latter
model. We also generalize our algorithm for the case when the size of the
workspace is bits, where . The running time
of our generalized algorithm is ,
slightly improving over the
bound of Frederickson's algorithm. To obtain the improvements mentioned above,
we developed a new data structure, called the wavelet stack, that we use for
repeated pruning. We expect the wavelet stack to be a useful tool in other
applications as well.Comment: 16 pages, 1 figure, Preliminary version appeared in COCOON-201
Solving Geometric Problems in Space-Conscious Models
When dealing with massive data sets, standard algorithms may
easily ``run out of memory''. In this thesis, we design efficient
algorithms in space-conscious models. In particular, in-place
algorithms, multi-pass algorithms, read-only algorithms, and
stream-sort algorithms are studied, and the focus is on
fundamental geometric problems, such as 2D convex hulls, 3D convex
hulls, Voronoi diagrams and nearest neighbor queries, Klee's
measure problem, and low-dimensional linear programming.
In-place algorithms only use O(1) extra space besides the input
array. We present a data structure for 2D nearest neighbor queries
and algorithms for Klee's measure problem in this model.
Algorithms in the multi-pass model only make read-only sequential
access to the input, and use sublinear working space and small
(usually a constant) number of passes on the input. We present
algorithms and lower bounds for many problems, including
low-dimensional linear programming and convex hulls, in this
model.
Algorithms in the read-only model only make read-only random
access to the input array, and use sublinear working space. We
present algorithms for Klee's measure problem and 2D convex hulls
in this model.
Algorithms in the stream-sort model use sorting as a primitive
operation. Each pass can either sort the data or make sequential
access to the data. As in the multi-pass model, these algorithms
can only use sublinear working space and a small (usually a
constant) number of passes on the data. We present algorithms for
constructing convex hulls and polygon triangulation in this model