Results 1  10
of
35
Finding the k Shortest Paths
, 1997
"... We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest pat ..."
Abstract

Cited by 289 (2 self)
 Add to MetaCart
We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest paths from a given source s to each vertex in the graph, in total time O(m + n log n +kn). We describe applications to dynamic programming problems including the knapsack problem, sequence alignment, maximum inscribed polygons, and genealogical relationship discovery. 1 Introduction We consider a longstudied generalization of the shortest path problem, in which not one but several short paths must be produced. The k shortest paths problem is to list the k paths connecting a given sourcedestination pair in the digraph with minimum total length. Our techniques also apply to the problem of listing all paths shorter than some given threshhold length. In the version of these problems studi...
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...
Efficient Fair Queueing Algorithms for PacketSwitched Networks
 IEEE/ACM Transactions on Networking
, 1998
"... AbslmclAlthough wcightcd fair queueing (WFQ) has been regnrdcd ns an ideal scheduling algorithm in terms of its combined dclny bound and proportional fairness properties, its asymptotic time complexity increases linearly with the number of sessions scrviccd by the scheduler, thus limiting its use i ..."
Abstract

Cited by 49 (3 self)
 Add to MetaCart
AbslmclAlthough wcightcd fair queueing (WFQ) has been regnrdcd ns an ideal scheduling algorithm in terms of its combined dclny bound and proportional fairness properties, its asymptotic time complexity increases linearly with the number of sessions scrviccd by the scheduler, thus limiting its use in highspeed networks. An algorithm that combines the delay and fairness bounds of WFQ with O(1) timestamp computations had rcmnincd clusivc so far. In this paper we present two novel scheduling nlgorithms that have O ( 1) complexity for timestamp computations and provide the same bounds on endtoend delay nnd buffer rcquircmcnts as those of WFQ. The first algorithm, flrrrrtcbased fair qucueing VE’Q), uses a framing mechanism to pcriodicnlly recalibrate a global variable tracking the progress oP work in the system, limiting any shortterm unfairness to within n frnme period. The second algorithm, starring potentialbnsc~ij2ir
On Parallel Hashing and Integer Sorting
, 1991
"... The problem of sorting n integers from a restricted range [1::m], where m is superpolynomial in n, is considered. An o(n log n) randomized algorithm is given. Our algorithm takes O(n log log m) expected time and O(n) space. (Thus, for m = n polylog(n) we have an O(n log log n) algorithm.) The al ..."
Abstract

Cited by 25 (9 self)
 Add to MetaCart
The problem of sorting n integers from a restricted range [1::m], where m is superpolynomial in n, is considered. An o(n log n) randomized algorithm is given. Our algorithm takes O(n log log m) expected time and O(n) space. (Thus, for m = n polylog(n) we have an O(n log log n) algorithm.) The algorithm is parallelizable. The resulting parallel algorithm achieves optimal speed up. Some features of the algorithm make us believe that it is relevant for practical applications. A result of independent interest is a parallel hashing technique. The expected construction time is logarithmic using an optimal number of processors, and searching for a value takes O(1) time in the worst case. This technique enables drastic reduction of space requirements for the price of using randomness. Applicability of the technique is demonstrated for the parallel sorting algorithm, and for some parallel string matching algorithms. The parallel sorting algorithm is designed for a strong and non standard mo...
Two and ThreeDimensional Point Location in Rectangular Subdivisions
 Journal of Algorithms
, 1995
"... We apply van Emde Boastype stratified trees to point location problems in rectangular subdivisions in 2 and 3 dimensions. In a subdivision with n rectangles having integer coordinates from [0; U \Gamma 1], we locate an integer query point in O((log log U ) d ) query time using O(n) space when d ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
We apply van Emde Boastype stratified trees to point location problems in rectangular subdivisions in 2 and 3 dimensions. In a subdivision with n rectangles having integer coordinates from [0; U \Gamma 1], we locate an integer query point in O((log log U ) d ) query time using O(n) space when d 2 or O(n log log U ) space when d = 3. Applications and extensions of this "fixed universe" approach include spatial point location using logarithmic time and linear space in rectilinear subdivisions having arbitrary coordinates, point location in coriented polygons or fat triangles in the plane, point location in subdivisions of space into "fat prisms," and vertical ray shooting among horizontal "fat objects." Like other results on stratified trees, our algorithms run on a RAM model and make use of perfect hashing. 1 Introduction The point location problemwhich seeks to preprocess a set of disjoint geometric objects to be able to determine quickly which object contains a query point...
Efficient FairQueueing Algorithms for PacketSwitched Networks
 IEEE/ACM transactions on Networking
, 1998
"... Although Weighted Fair Queueing is regarded as an ideal scheduling algorithm in terms of its combined delay and fairness properties, its computation complexity is asymptotically linear in the number of connections serviced by the scheduler, thus making its implementation prohibitively expensive in h ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
Although Weighted Fair Queueing is regarded as an ideal scheduling algorithm in terms of its combined delay and fairness properties, its computation complexity is asymptotically linear in the number of connections serviced by the scheduler, thus making its implementation prohibitively expensive in highspeed networks. An algorithm that combines the delay and fairness bounds of Weighted Fair Queueing with O(1) timestamp computations had remained elusive so far. In this paper, we present two novel scheduling algorithms that have O(1) complexity for timestamp computations, and provide the same bounds on endtoend delay and buffer requirements as those of Weighted Fair Queueing. The algorithms may be used in both general packet networks with variable packet sizes and in Asynchronous Transfer Mode (ATM) networks. Both algorithms are based on the general framework of rateproportional servers (RPS) introduced in [11]. 1 Introduction Traffic scheduling algorithms are a necessary part of fut...
String Editing and Longest Common Subsequences
 In Handbook of Formal Languages
, 1996
"... this paper, in view of the particularly rich variety of algorithmic solutions that have been devised for this problem over the past two decades or so, which made it susceptible to some degrees of unification and systematization of independent and general interest. Our discussion starts with the expo ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
this paper, in view of the particularly rich variety of algorithmic solutions that have been devised for this problem over the past two decades or so, which made it susceptible to some degrees of unification and systematization of independent and general interest. Our discussion starts with the exposition of two basic approaches to LCS computation, due respectively to Hirschberg [1978] and Hunt and Szymanski [1977]. We then discuss faster implementations of this second paradigm, and the data strucures that support them. In Section 5. we discuss algorithms that use only linear space to compute an LCS and yet do not necessarily take \Theta(nm) time. One, final, such algorithm is presented in section 6. where many of the ideas and tools accumulated in the course of our discussion find employment together. In Section 7. we make return to string editing in its general formulation and discuss some of its efficient solutions within a parallel model of computation.
Serial Computations of Levenshtein Distances
, 1997
"... sequence (LCS) of those strings. If D is the simple Levenshtein distance between two strings having lengths m and n, SES is the length of the shortest edit sequence between the strings, and L is the length of an LCS of the strings, then SES = D and L = (m + n 0D)=2. We will focus on the problem of ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
sequence (LCS) of those strings. If D is the simple Levenshtein distance between two strings having lengths m and n, SES is the length of the shortest edit sequence between the strings, and L is the length of an LCS of the strings, then SES = D and L = (m + n 0D)=2. We will focus on the problem of determining the length of an LCS and also on the related problem of recovering an LCS. Another related problem, which will be discussed in Chapter 7, is that of approximate string matching, in which it is desired to locate all positions within string y which begin an approximation to string x containing at most D errors (insertions or deletions). 124 SERIAL COMPUTATIONS OF LEVENSHTEIN DISTANCES procedure CLASSIC( x,<
Bounded Ordered Dictionaries in O(log log N) Time and O(n) Space
 Information Processing Letters
, 1990
"... In this paper we show how to implement bounded ordered dictionaries, also called bounded priority queues, in O(log log N) time per operation and O(n) space. Here n denotes the number of elements stored in the dictionary and N denotes the size of the universe. Previously, this time bound required O(N ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
In this paper we show how to implement bounded ordered dictionaries, also called bounded priority queues, in O(log log N) time per operation and O(n) space. Here n denotes the number of elements stored in the dictionary and N denotes the size of the universe. Previously, this time bound required O(N) space [E77].