Results 1  10
of
36
Scalable Network Distance Browsing in Spatial Databases
, 2008
"... An algorithm is presented for finding the k nearest neighbors in a spatial network in a bestfirst manner using network distance. The algorithm is based on precomputing the shortest paths between all possible vertices in the network and then making use of an encoding that takes advantage of the fact ..."
Abstract

Cited by 78 (8 self)
 Add to MetaCart
(Show Context)
An algorithm is presented for finding the k nearest neighbors in a spatial network in a bestfirst manner using network distance. The algorithm is based on precomputing the shortest paths between all possible vertices in the network and then making use of an encoding that takes advantage of the fact that the shortest paths from vertex u to all of the remaining vertices can be decomposed into subsets based on the first edges on the shortest paths to them from u. Thus, in the worst case, the amount of work depends on the number of objects that are examined and the number of links on the shortest paths to them from q, rather than depending on the number of vertices in the network. The amount of storage required to keep track of the subsets is reduced by taking advantage of their spatial coherence which is captured by the aid of a shortest path quadtree. In particular, experiments on a number of large road networks as
Finding the Hidden Path: Time Bounds for AllPairs Shortest Paths
, 1993
"... We investigate the allpairs shortest paths problem in weighted graphs. We present an algorithmthe Hidden Paths Algorithmthat finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra&ap ..."
Abstract

Cited by 71 (0 self)
 Add to MetaCart
(Show Context)
We investigate the allpairs shortest paths problem in weighted graphs. We present an algorithmthe Hidden Paths Algorithmthat finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra's algorithm. We argue that m* is likely to be small in practice, since m* = O(n log n) with high probability for many probability distributions on edge weights. We also prove an Ω(mn) lower bound on the running time of any pathcomparison based algorithm for the allpairs shortest paths problem. Pathcomparison based algorithms form a natural class containing the Hidden Paths Algorithm, as well as the algorithms of Dijkstra and Floyd. Lastly, we consider generalized forms of the shortest paths problem, and show that many of the standard shortest paths algorithms are effective in this more general setting.
Shortest Paths in Digraphs of Small Treewidth. Part I: Sequential Algorithms
, 1995
"... We consider the problem of preprocessing an nvertex digraph with real edge weights so that subsequent queries for the shortest path or distance between any two vertices can be efficiently answered. We give algorithms that depend on the treewidth of the input graph. When the treewidth is a consta ..."
Abstract

Cited by 37 (4 self)
 Add to MetaCart
We consider the problem of preprocessing an nvertex digraph with real edge weights so that subsequent queries for the shortest path or distance between any two vertices can be efficiently answered. We give algorithms that depend on the treewidth of the input graph. When the treewidth is a constant, our algorithms can answer distance queries in O(ff(n)) time after O(n) preprocessing. This improves upon previously known results for the same problem. We also give a dynamic algorithm which, after a change in an edge weight, updates the data structure in time O(n fi ), for any constant 0 ! fi ! 1. Furthermore, an algorithm of independent interest is given: computing a shortest path tree, or finding a negative cycle in linear time.
Using Multilevel Graphs for Timetable Information in Railway Systems
 IN PROCEEDINGS 4TH WORKSHOP ON ALGORITHM ENGINEERING AND EXPERIMENTS (ALENEX 2002), VOLUME 2409 OF SPRINGER LNCS
, 2002
"... In many fields of application shortest path finding problems in very large graphs arise. Scenarios where large numbers ofonW##O queries for shortest paths have to be processedin realtime appear for examplein tra#cinc5###HF5 systems.In such systems, the techn5Ww# con sidered to speed up the shortes ..."
Abstract

Cited by 30 (13 self)
 Add to MetaCart
In many fields of application shortest path finding problems in very large graphs arise. Scenarios where large numbers ofonW##O queries for shortest paths have to be processedin realtime appear for examplein tra#cinc5###HF5 systems.In such systems, the techn5Ww# con sidered to speed up the shortest pathcomputation are usually basedon precomputed incomputed5 On approach proposedoften in thiscon text is a spacereduction where precomputed shortest paths are replaced by sin## edges with weight equal to thelenOq of the corresponres shortest path.In this paper, we give a first systematic experimen tal study of such a spacereduction approach. Wein troduce theconOkW of multilevel graph decomposition Foron specificapplication scenica from the field of timetable information in public tranc ort, we perform a detailed anai ysisan experimen tal evaluation of shortest path computation based on multilevel graph decomposition.
Computing Shortest Paths with Comparisons and Additions
 SODA
, 2002
"... We present an undirected allpairs shortest paths (APSP) algorithm which runs on a pointer machine in time O(mnot(m, n)) while making O(ran log a(m, n)) comparisons and additions, where m and n are the number of edges and vertices, respectively, and a(ra, n) is Tarjan's inverseAckermann funct ..."
Abstract

Cited by 20 (7 self)
 Add to MetaCart
We present an undirected allpairs shortest paths (APSP) algorithm which runs on a pointer machine in time O(mnot(m, n)) while making O(ran log a(m, n)) comparisons and additions, where m and n are the number of edges and vertices, respectively, and a(ra, n) is Tarjan's inverseAckermann function. This improves upon all previous comparison & additionbased APSP algorithms when the graph is sparse, i.e., when m = o(n log n). At the heart of our APSP algorithm is a new singlesource shortest paths algorithm which runs in time O(ma(m,n) + nloglogr) on a pointer machine, where r is the ratio of the maximumtominimum edge length. So long as r < 2 '~°(a) this algorithm is faster than any implementation of Dijkstra's classical algorithm in the comparisonaddition model. For directed graphs we give an O(ra + nlogr)time comparison & additionbased SSSP algorithm on a pointer machine. Similar algorithms assuming integer weights or the RAM model were given earlier.
Many distances in planar graphs
 In SODA ’06: Proc. 17th Symp. Discrete algorithms
, 2006
"... We show how to compute in O(n 4/3 log 1/3 n+n 2/3 k 2/3 logn) time the distance between k given pairs of vertices of a planar graph G with n vertices. This improves previous results whenever (n/logn) 5/6 ≤ k ≤ n 2 /log 6 n. As an application, we speed up previous algorithms for computing the dilatio ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
(Show Context)
We show how to compute in O(n 4/3 log 1/3 n+n 2/3 k 2/3 logn) time the distance between k given pairs of vertices of a planar graph G with n vertices. This improves previous results whenever (n/logn) 5/6 ≤ k ≤ n 2 /log 6 n. As an application, we speed up previous algorithms for computing the dilation of geometric planar graphs. 1
Data Structural Bootstrapping, Linear Path Compression, and Catenable Heap Ordered Double Ended Queues
 SIAM Journal on Computing
, 1992
"... A deque with heap order is a linear list of elements with realvalued keys which allows insertions and deletions of elements at both ends of the list. It also allows the findmin (equivalently findmax) operation, which returns the element of least (greatest) key, but it does not allow a general delet ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
A deque with heap order is a linear list of elements with realvalued keys which allows insertions and deletions of elements at both ends of the list. It also allows the findmin (equivalently findmax) operation, which returns the element of least (greatest) key, but it does not allow a general deletemin (deletemax) operation. Such a data structure is also called a mindeque (maxdeque) . Whereas implementing mindeques in constant time per operation is a solved problem, catenating mindeques in sublogarithmic time has until now remained open. This paper provides an efficient implementation of catenable mindeques, yielding constant amortized time per operation. The important algorithmic technique employed is an idea which is best described as data structural bootstrapping: We abstract mindeques so that their elements represent other mindeques, effecting catenation while preserving heap order. The efficiency of the resulting data structure depends upon the complexity of a special case of pa...
Purely Functional RandomAccess Lists
 In Functional Programming Languages and Computer Architecture
, 1995
"... We present a new data structure, called a randomaccess list, that supports array lookup and update operations in O(log n) time, while simultaneously providing O(1) time list operations (cons, head, tail). A closer analysis of the array operations improves the bound to O(minfi; log ng) in the wor ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
(Show Context)
We present a new data structure, called a randomaccess list, that supports array lookup and update operations in O(log n) time, while simultaneously providing O(1) time list operations (cons, head, tail). A closer analysis of the array operations improves the bound to O(minfi; log ng) in the worst case and O(log i) in the expected case, where i is the index of the desired element. Empirical evidence suggests that this data structure should be quite efficient in practice. 1 Introduction Lists are the primary data structure in every functional programmer 's toolbox. They are simple, convenient, and usually quite efficient. The main drawback of lists is that accessing the ith element requires O(i) time. In such situations, functional programmers often find themselves longing for the efficient random access of arrays. Unfortunately, arrays can be quite awkward to implement in a functional setting, where previous versions of the array must be available even after an update. Since arra...
A shortest path algorithm for realweighted undirected graphs
 in 13th ACMSIAM Symp. on Discrete Algs
, 1985
"... Abstract. We present a new scheme for computing shortest paths on realweighted undirected graphs in the fundamental comparisonaddition model. In an efficient preprocessing phase our algorithm creates a linearsize structure that facilitates singlesource shortest path computations in O(m log α) ti ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
Abstract. We present a new scheme for computing shortest paths on realweighted undirected graphs in the fundamental comparisonaddition model. In an efficient preprocessing phase our algorithm creates a linearsize structure that facilitates singlesource shortest path computations in O(m log α) time, where α = α(m, n) is the very slowly growing inverseAckermann function, m the number of edges, and n the number of vertices. As special cases our algorithm implies new bounds on both the allpairs and singlesource shortest paths problems. We solve the allpairs problem in O(mnlog α(m, n)) time and, if the ratio between the maximum and minimum edge lengths is bounded by n (log n)O(1) , we can solve the singlesource problem in O(m + nlog log n) time. Both these results are theoretical improvements over Dijkstra’s algorithm, which was the previous best for real weighted undirected graphs. Our algorithm takes the hierarchybased approach invented by Thorup. Key words. singlesource shortest paths, allpairs shortest paths, undirected graphs, Dijkstra’s