167 research outputs found
A forward-backward single-source shortest paths algorithm
We describe a new forward-backward variant of Dijkstra's and Spira's
Single-Source Shortest Paths (SSSP) algorithms. While essentially all SSSP
algorithm only scan edges forward, the new algorithm scans some edges backward.
The new algorithm assumes that edges in the outgoing and incoming adjacency
lists of the vertices appear in non-decreasing order of weight. (Spira's
algorithm makes the same assumption about the outgoing adjacency lists, but
does not use incoming adjacency lists.) The running time of the algorithm on a
complete directed graph on vertices with independent exponential edge
weights is , with very high probability. This improves on the previously
best result of , which is best possible if only forward scans are
allowed, exhibiting an interesting separation between forward-only and
forward-backward SSSP algorithms. As a consequence, we also get a new all-pairs
shortest paths algorithm. The expected running time of the algorithm on
complete graphs with independent exponential edge weights is , matching
a recent algorithm of Demetrescu and Italiano as analyzed by Peres et al.
Furthermore, the probability that the new algorithm requires more than
time is exponentially small, improving on the probability bound
obtained by Peres et al
Optimal resizable arrays
A \emph{resizable array} is an array that can \emph{grow} and \emph{shrink}
by the addition or removal of items from its end, or both its ends, while still
supporting constant-time \emph{access} to each item stored in the array given
its \emph{index}. Since the size of an array, i.e., the number of items in it,
varies over time, space-efficient maintenance of a resizable array requires
dynamic memory management. A standard doubling technique allows the maintenance
of an array of size~ using only space, with amortized time, or
even worst-case time, per operation. Sitarski and Brodnik et al.\
describe much better solutions that maintain a resizable array of size~
using only space, still with time per operation. Brodnik
et al.\ give a simple proof that this is best possible.
We distinguish between the space needed for \emph{storing} a resizable array,
and accessing its items, and the \emph{temporary} space that may be needed
while growing or shrinking the array. For every integer , we show that
space is sufficient for storing and accessing an array of
size~, if space can be used briefly during grow and shrink
operations. Accessing an item by index takes worst-case time while grow
and shrink operations take amortized time. Using an exact analysis of a
\emph{growth game}, we show that for any data structure from a wide class of
data structures that uses only space to store the array, the
amortized cost of grow is , even if only grow and access operations
are allowed. The time for grow and shrink operations cannot be made worst-case,
unless .Comment: To appear in SOSA 202
Deterministic rendezvous, treasure hunts and strongly universal exploration sequences
We obtain several improved solutions for the deterministic rendezvous problem in general undirected graphs. Our solutions answer several problems left open by Dessmark et al. We also introduce an interesting variant of the rendezvous problem which we call the deterministic treasure hunt problem. Both the rendezvous and the treasure hunt problems motivate the study of universal traversal sequences and universal exploration sequences with some strengthened properties. We call such sequences strongly universal traversal (exploration) sequences. We give an explicit construction of strongly universal exploration sequences. The existence of strongly universal traversal sequences, as well as the solution of the most difficult variant of the deterministic treasure hunt problem, are left as intriguing open problems.
Hollow Heaps
We introduce the hollow heap, a very simple data structure with the same
amortized efficiency as the classical Fibonacci heap. All heap operations
except delete and delete-min take time, worst case as well as amortized;
delete and delete-min take amortized time on a heap of items.
Hollow heaps are by far the simplest structure to achieve this. Hollow heaps
combine two novel ideas: the use of lazy deletion and re-insertion to do
decrease-key operations, and the use of a dag (directed acyclic graph) instead
of a tree or set of trees to represent a heap. Lazy deletion produces hollow
nodes (nodes without items), giving the data structure its name.Comment: 27 pages, 7 figures, preliminary version appeared in ICALP 201
A Faster Deterministic Exponential Time Algorithm for Energy Games and Mean Payoff Games
We present an improved exponential time algorithm for Energy Games, and hence also for Mean Payoff Games. The running time of the new algorithm is O (min(m n W, m n 2^{n/2} log W)), where n is the number of vertices, m is the number of edges, and when the edge weights are integers of absolute value at most W. For small values of W, the algorithm matches the performance of the pseudopolynomial time algorithm of Brim et al. on which it is based. For W >= n2^{n/2}, the new algorithm is faster than the algorithm of Brim et al. and is currently the fastest deterministic algorithm for Energy Games and Mean Payoff Games. The new algorithm is obtained by introducing a technique of forecasting repetitive actions performed by the algorithm of Brim et al., along with the use of an edge-weight scaling technique
- …