Results 1  10
of
30
On RAM priority queues
, 1996
"... Priority queues are some of the most fundamental data structures. They are used directly for, say, task scheduling in operating systems. Moreover, they are essential to greedy algorithms. We study the complexity of priority queue operations on a RAM with arbitrary word size. We present exponential i ..."
Abstract

Cited by 70 (9 self)
 Add to MetaCart
Priority queues are some of the most fundamental data structures. They are used directly for, say, task scheduling in operating systems. Moreover, they are essential to greedy algorithms. We study the complexity of priority queue operations on a RAM with arbitrary word size. We present exponential improvements over previous bounds, and we show tight relations to sorting. Our first result is a RAM priority queue supporting insert and extractmin operations in worst case time O(log log n) where n is the current number of keys in the queue. This is an exponential improvement over the O( p log n) bound of Fredman and Willard from STOC'90. Our algorithm is simple, and it only uses AC 0 operations, meaning that there is no hidden time dependency on the word size. Plugging this priority queue into Dijkstra's algorithm gives an O(m log log m) algorithm for the single source shortest path problem on a graph with m edges, as compared with the previous O(m p log m) bound based on Fredman...
More algorithms for allpairs shortest paths in weighted graphs
 In Proceedings of 39th Annual ACM Symposium on Theory of Computing
, 2007
"... In the first part of the paper, we reexamine the allpairs shortest paths (APSP) problem and present a new algorithm with running time O(n 3 log 3 log n / log 2 n), which improves all known algorithms for general realweighted dense graphs. In the second part of the paper, we use fast matrix multipl ..."
Abstract

Cited by 54 (3 self)
 Add to MetaCart
In the first part of the paper, we reexamine the allpairs shortest paths (APSP) problem and present a new algorithm with running time O(n 3 log 3 log n / log 2 n), which improves all known algorithms for general realweighted dense graphs. In the second part of the paper, we use fast matrix multiplication to obtain truly subcubic APSP algorithms for a large class of “geometrically weighted ” graphs, where the weight of an edge is a function of the coordinates of its vertices. For example, for graphs embedded in Euclidean space of a constant dimension d, we obtain a time bound near O(n 3−(3−ω)/(2d+4)), where ω < 2.376; in two dimensions, this is O(n 2.922). Our framework greatly extends the previously considered case of smallintegerweighted graphs, and incidentally also yields the first truly subcubic result (near O(n 3−(3−ω)/4) = O(n 2.844) time) for APSP in realvertexweighted graphs, as well as an improved result (near O(n (3+ω)/2) = O(n 2.688) time) for the allpairs lightest shortest path problem for smallintegerweighted graphs. 1
Undirected Single Source Shortest Paths in Linear Time
 J. Assoc. Comput. Mach
, 1997
"... The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra' ..."
Abstract

Cited by 49 (3 self)
 Add to MetaCart
The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra's algorithm, visiting the vertices in order of increasing distance from s. Thus, any implementation of Dijkstra 's algorithm sorts the vertices according to their distances from s. However, we do not know how to sort in linear time. Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with integer weights. The algorithm avoids the sorting bottleneck by building a hierechical bucketing structure, identifying vertex pairs that may be visited in any order. 1 Introduction Let G = (V; E), jV j = n, jEj = m, be an undirected connected graph with an integer edge weight function ` : E ! N and a distinguished source vertex...
Efficient LowContention Parallel Algorithms
 the 1994 ACM Symp. on Parallel Algorithms and Architectures
, 1994
"... The queueread, queuewrite (qrqw) parallel random access machine (pram) model permits concurrent reading and writing to shared memory locations, but at a cost proportional to the number of readers/writers to any one memory location in a given step. The qrqw pram model reflects the contention prope ..."
Abstract

Cited by 30 (11 self)
 Add to MetaCart
The queueread, queuewrite (qrqw) parallel random access machine (pram) model permits concurrent reading and writing to shared memory locations, but at a cost proportional to the number of readers/writers to any one memory location in a given step. The qrqw pram model reflects the contention properties of most commercially available parallel machines more accurately than either the wellstudied crcw pram or erew pram models, and can be efficiently emulated with only logarithmic slowdown on hypercubetype noncombining networks. This paper describes fast, lowcontention, workoptimal, randomized qrqw pram algorithms for the fundamental problems of load balancing, multiple compaction, generating a random permutation, parallel hashing, and distributive sorting. These logarithmic or sublogarithmic time algorithms considerably improve upon the best known erew pram algorithms for these problems, while avoiding the highcontention steps typical of crcw pram algorithms. An illustrative expe...
A New Efficient Radix Sort
, 1994
"... We present new improved algorithms for the sorting problem. The algorithms are not only efficient but also clear and simple. First, we introduce Forward Radix Sort which combines the advantages of traditional lefttoright and righttoleft radix sort in a simple manner. We argue that this algorithm ..."
Abstract

Cited by 30 (7 self)
 Add to MetaCart
We present new improved algorithms for the sorting problem. The algorithms are not only efficient but also clear and simple. First, we introduce Forward Radix Sort which combines the advantages of traditional lefttoright and righttoleft radix sort in a simple manner. We argue that this algorithm will work very well in practice. Adding a preprocessing step, we obtain an algorithm with attractive theoretical properties. For example, n binary strings can be sorted in \Theta i n log i B n log n + 2 jj time, where B is the minimum number of bits that have to be inspected to distinguish the strings. This is an improvement over the previously best known result by Paige and Tarjan. The complexity may also be expressed in terms of H, the entropy of the input: n strings from a stationary ergodic process can be sorted in \Theta \Gamma n log \Gamma 1 H + 1 \Delta\Delta time, an improvement over the result recently presented by Chen and Reif.
Floats, Integers, and Single Source Shortest Paths
 Journal of Algorithms
, 2000
"... Floats are ugly, but to everyone but theoretical computer scientists, they are the real thing. A linear time algorithm is presented for the undirected single source shortest paths problem with positive floating point weights. 1 Introduction The technical goal of this paper is to present a linear ti ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
Floats are ugly, but to everyone but theoretical computer scientists, they are the real thing. A linear time algorithm is presented for the undirected single source shortest paths problem with positive floating point weights. 1 Introduction The technical goal of this paper is to present a linear time solution to the undirected single source shortest paths problem (USSSP) where the weights are positive floating points, or just floats. On a more philosophical level, the goal is to draw attention to the problem of making efficient algorithms for floats. Suppose, for example, we have an algorithm for the maxflow problem whose running time includes a factor log C, where C is the maximal capacity. If we allow floating points, such an algorithm is not even polynomial, i.e. log C is the exponent of C, and the exponent is stored with log log C bits. Floating points are at least as used as integers, by everybody but theoretical computer scientists, who seem to prefer integers. To multiply two...
Static Dictionaries on AC^0 RAMs: Query time Θ(,/log n / log log n) is necessary and sufficient
, 1996
"... In this paper we consider solutions to the static dictionary problem ���� � on RAMs, i.e. random access machines where the only restriction on the finite instruction set is that all computational instructions are ���� � in. Our main result is a tight upper and lower bound ���� � ���©���������������� ..."
Abstract

Cited by 19 (5 self)
 Add to MetaCart
In this paper we consider solutions to the static dictionary problem ���� � on RAMs, i.e. random access machines where the only restriction on the finite instruction set is that all computational instructions are ���� � in. Our main result is a tight upper and lower bound ���� � ���©��������������������� of on the time for answering membership queries in a set of � size when reasonable space is used for the data structure storing the set; the upper bound can be obtained using space ������ � �� � ���� �. Several variations of this result are also obtained. Among others, we show a tradeoff between time and circuit depth under the unitcost assumption: any RAM instruction set which permits a linear space, constant query time solution to the static dictionary problem must have an instruction of depth �������©���������������©���� � , where � is the word size of the machine (and ���© � the size of the universe). This matches the depth of multiplication and integer division, used in the perfect hashing scheme by Fredman, Komlós and Szemerédi.
Randomized sorting in O(n log log n) time and linear space using addition, shift, and bitwise boolean operations
, 1996
"... A randomized sorting algorithm is presented, doing as described in the title. 1 Introduction In this paper we consider sorting on a very simple RAM where the only wordoperations are addition, shift, and bitwise boolean operations. Besides these wordoperations, we have direct and indirect addres ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
A randomized sorting algorithm is presented, doing as described in the title. 1 Introduction In this paper we consider sorting on a very simple RAM where the only wordoperations are addition, shift, and bitwise boolean operations. Besides these wordoperations, we have direct and indirect addressing, jumps, and conditional statements. Such a RAM has been referred to as a Practical RAM [Mil96]. In this paper we show Theorem 1 On a Practical RAM, there is a randomized algorithm sorting n words in O(n log log n) time and linear space. The above algorithm only makes shifts by powers of two, and it only needs O(log n) random words. Our time bound matches that of the current fastest sorting algorithm by Andersson, Hagerup, Raman, and Nilsson [AHNR95]. Their algorithm has two variants: one is deterministic uses space 2 "w , where w is the word length and " is a positive constant. Thus the space is unbounded in terms of n. The other variant is randomized and uses linear space like ou...
Subquadratic algorithms for 3SUM
 In Proc. 9th Worksh. Algorithms & Data Structures, LNCS 3608
, 2005
"... We obtain subquadratic algorithms for 3SUM on integers and rationals in several models. On a standard word RAM with wbit words, we obtain a running time of O(n 2 / max { w lg 2 w, lg 2 n (lg lg n) 2}). In the circuit RAM with one nonstandard AC0 operation, we obtain O(n2 / w2 lg2). In external w me ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
We obtain subquadratic algorithms for 3SUM on integers and rationals in several models. On a standard word RAM with wbit words, we obtain a running time of O(n 2 / max { w lg 2 w, lg 2 n (lg lg n) 2}). In the circuit RAM with one nonstandard AC0 operation, we obtain O(n2 / w2 lg2). In external w memory, we achieve O(n2 /(MB)), even under the standard assumption of data indivisibility. Cacheobliviously, we obtain a running time of O(n2 / MB lg2). In all cases, our speedup is almost M quadratic in the parallelism the model can afford, which may be the best possible. Our algorithms are Las Vegas randomized; time bounds hold in expectation, and in most cases, with high probability. 1