18 research outputs found
Faster deterministic sorting and priority queues in linear space
The RAM complexity of deterministic linear space sorting of integers in words is improved from to . No better bounds are known for polynomial space. In fact, the techniques give a deterministic linear space priority queue supporting insert and delete in amortized time and find-min in constant time. The priority queue can be implemented using addition, shift, and bit-wise boolean operations
Fusion Tree Sorting
The sorting problem is one of the most relevant problems in computer science.
Within the scope of modern computer science it has been studied for more than
70 years. In spite of these facts, new sorting algorithms have been developed
in recent years. Among several types of sorting algorithms, some are quicker;
others are more economic in relation to space, whereas others insert a few
restrictions in relation to data input. This paper is aimed at explaining the
fusion tree data structure, which is responsible for the first sorting
algorithm with complexity time smaller than nlgn. The nlgn time complexity has
led to some confusion and generated the wrong belief in part of the community
of being the minimum possible for this type of problem.Comment: 17 page
Dynamic Ordered Sets with Exponential Search Trees
We introduce exponential search trees as a novel technique for converting
static polynomial space search structures for ordered sets into fully-dynamic
linear space data structures.
This leads to an optimal bound of O(sqrt(log n/loglog n)) for searching and
updating a dynamic set of n integer keys in linear space. Here searching an
integer y means finding the maximum key in the set which is smaller than or
equal to y. This problem is equivalent to the standard text book problem of
maintaining an ordered set (see, e.g., Cormen, Leiserson, Rivest, and Stein:
Introduction to Algorithms, 2nd ed., MIT Press, 2001).
The best previous deterministic linear space bound was O(log n/loglog n) due
Fredman and Willard from STOC 1990. No better deterministic search bound was
known using polynomial space.
We also get the following worst-case linear space trade-offs between the
number n, the word length w, and the maximal key U < 2^w: O(min{loglog n+log
n/log w, (loglog n)(loglog U)/(logloglog U)}). These trade-offs are, however,
not likely to be optimal.
Our results are generalized to finger searching and string searching,
providing optimal results for both in terms of n.Comment: Revision corrects some typoes and state things better for
applications in subsequent paper
Integer priority queues with decrease key in constant time and the single source shortest paths problem
AbstractWe consider Fibonacci heap style integer priority queues supporting find-min, insert, and decrease key operations in constant time. We present a deterministic linear space solution that with n integer keys supports delete in O(loglogn) time. If the integers are in the range [0,N), we can also support delete in O(loglogN) time.Even for the special case of monotone priority queues, where the minimum has to be non-decreasing, the best previous bounds on delete were O((logn)1/(3−ε)) and O((logN)1/(4−ε)). These previous bounds used both randomization and amortization. Our new bounds are deterministic, worst-case, with no restriction to monotonicity, and exponentially faster.As a classical application, for a directed graph with n nodes and m edges with non-negative integer weights, we get single source shortest paths in O(m+nloglogn) time, or O(m+nloglogC) if C is the maximal edge weight. The latter solves an open problem of Ahuja, Mehlhorn, Orlin, and Tarjan from 1990