3 research outputs found
Quicksort Is Optimal For Many Equal Keys
I prove that the average number of comparisons for median-of- Quicksort (with fat-pivot a.k.a. three-way partitioning) is asymptotically only a constant times worse than the lower bound for sorting random multisets with duplicates of each value (for any ). The constant is , which converges to 1 as , so Quicksort is asymptotically optimal for inputs with many duplicates. This resolves a conjecture by Sedgewick and Bentley (1999, 2002) and constitutes the first progress on the analysis of Quicksort with equal elements since Sedgewick's 1977 article
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