Results 1  10
of
33
External Memory Data Structures
, 2001
"... In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worstcase efficient external memory dynami ..."
Abstract

Cited by 83 (37 self)
 Add to MetaCart
In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worstcase efficient external memory dynamic data structures. We also briefly discuss some of the most popular external data structures used in practice.
Cacheoblivious priority queue and graph algorithm applications
 In Proc. 34th Annual ACM Symposium on Theory of Computing
, 2002
"... In this paper we develop an optimal cacheoblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in O ( 1 B logM/B N) amortized memory B transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hi ..."
Abstract

Cited by 68 (9 self)
 Add to MetaCart
(Show Context)
In this paper we develop an optimal cacheoblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in O ( 1 B logM/B N) amortized memory B transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cacheoblivious data structure, M and B are not used in the description of the structure. The bounds match the bounds of several previously developed externalmemory (cacheaware) priority queue data structures, which all rely crucially on knowledge about M and B. Priority queues are a critical component in many of the best known externalmemory graph algorithms, and using our cacheoblivious priority queue we develop several cacheoblivious graph algorithms.
I/OEfficient Algorithms for Problems on Gridbased Terrains (Extended Abstract)
 In Proc. Workshop on Algorithm Engineering and Experimentation
, 2000
"... Lars Arge Laura Toma Jeffrey Scott Vitter Center for Geometric Computing Department of Computer Science Duke University Durham, NC 277080129 Abstract The potential and use of Geographic Information Systems (GIS) is rapidly increasing due to the increasing availability of massive amoun ..."
Abstract

Cited by 33 (15 self)
 Add to MetaCart
Lars Arge Laura Toma Jeffrey Scott Vitter Center for Geometric Computing Department of Computer Science Duke University Durham, NC 277080129 Abstract The potential and use of Geographic Information Systems (GIS) is rapidly increasing due to the increasing availability of massive amounts of geospatial data from projects like NASA's Mission to Planet Earth. However, the use of these massive datasets also exposes scalability problems with existing GIS algorithms. These scalability problems are mainly due to the fact that most GIS algorithms have been designed to minimize internal computation time, while I/O communication often is the bottleneck when processing massive amounts of data.
On externalmemory MST, SSSP and multiway planar graph separation
 In Proc. 8th Scandinavian Workshop on Algorithmic Theory, volume 1851 of LNCS
, 2000
"... Recently external memory graph algorithms have received considerable attention because massive graphs arise naturally in many applications involving massive data sets. Even though a large number of I/Oefficient graph algorithms have been developed, a number of fundamental problems still remain open ..."
Abstract

Cited by 31 (2 self)
 Add to MetaCart
Recently external memory graph algorithms have received considerable attention because massive graphs arise naturally in many applications involving massive data sets. Even though a large number of I/Oefficient graph algorithms have been developed, a number of fundamental problems still remain open. In this paper we develop an improved algorithm for the problem of computing a minimum spanning tree of a general graph, as well as new algorithms for the single source shortest paths and the multiway graph separation problems on planar graphs.
On ExternalMemory Planar Depth First Search
 Journal of Graph Algorithms and Applications
"... Even though a large number of I/Oefficient graph algorithms have been developed, a number of fundamental problems still remain open. For example, no space and I/Oefficient algorithms are known for depthfirst search or breadthfirst search in sparse graphs. In this paper we present two new re ..."
Abstract

Cited by 25 (15 self)
 Add to MetaCart
Even though a large number of I/Oefficient graph algorithms have been developed, a number of fundamental problems still remain open. For example, no space and I/Oefficient algorithms are known for depthfirst search or breadthfirst search in sparse graphs. In this paper we present two new results on I/Oefficient depthfirst search in an important class of sparse graphs, namely undirected embedded planar graphs. We develop a new efficient depthfirst search algorithm and show how planar depthfirst search in general can be reduced to planar breadthfirst search. As part of the first result we develop the first I/Oefficient algorithm for finding a simple cycle separator of a biconnected planar graph. Together with other recent reducibility results, the second result provides further evidence that external memory breadthfirst search is among the hardest problems on planar graphs. 1
I/Oefficient batched unionfind and its applications to terrain analysis
 IN PROC. 22ND ANNUAL SYMPOSIUM ON COMPUTATIONAL GEOMETRY
, 2006
"... Despite extensive study over the last four decades and numerous applications, no I/Oefficient algorithm is known for the unionfind problem. In this paper we present an I/Oefficient algorithm for the batched (offline) version of the unionfind problem. Given any sequence of N union and find opera ..."
Abstract

Cited by 24 (11 self)
 Add to MetaCart
(Show Context)
Despite extensive study over the last four decades and numerous applications, no I/Oefficient algorithm is known for the unionfind problem. In this paper we present an I/Oefficient algorithm for the batched (offline) version of the unionfind problem. Given any sequence of N union and find operations, where each union operation joins two distinct sets, our algorithm uses O(SORT(N)) = O ( N B log M/B N I/Os, where M is the memory size and B is the disk block size. This bound is asymptotically optimal in the worst case. If there are union operations that join a set with itself, our algorithm uses O(SORT(N) + MST(N)) I/Os, where MST(N) is the number of I/Os needed to compute the minimum spanning tree of a graph with N edges. We also describe a simple and practical O(SORT(N) log ( N M))I/O algorithm for this problem, which we have implemented. We are interested in the unionfind problem because of its applications in terrain analysis. A terrain can be abstracted as a height function defined over R2, and many problems that deal with such functions require a unionfind data structure. With the emergence of modern mapping technologies, huge amount of elevation data is being generated that is too large to fit in memory, thus I/Oefficient algorithms are needed to process this data efficiently. In this paper, we study two terrainanalysis problems that benefit from a unionfind data structure: (i) computing topological persistence and (ii) constructing the contour tree. We give the first O(SORT(N))I/O algorithms for these two problems, assuming that the input terrain is represented as a triangular mesh with N vertices. Finally, we report some preliminary experimental results, showing that our algorithms give orderofmagnitude improvement over previous methods on large data sets that do not fit in memory.
Engineering an External Memory Minimum Spanning Tree Algorithm
 IN PROC. 3RD IFIP INTL. CONF. ON THEORETICAL COMPUTER SCIENCE
, 2004
"... We develop an external memory algorithm for computing minimum spanning trees. The algorithm is considerably simpler than previously known external memory algorithms for this problem and needs a factor of at least four less I/Os for realistic inputs. Our implementation indicates that this algorithm ..."
Abstract

Cited by 23 (4 self)
 Add to MetaCart
We develop an external memory algorithm for computing minimum spanning trees. The algorithm is considerably simpler than previously known external memory algorithms for this problem and needs a factor of at least four less I/Os for realistic inputs. Our implementation indicates that this algorithm processes graphs only limited by the disk capacity of most current machines in time no more than a factor 2–5 of a good internal algorithm with sufficient memory space.
I/Oefficient algorithms for graphs of bounded treewidth
 In Proceedings of the 12th Annual ACMSIAM Symposium on Discrete Algorithms (SODA’2001
, 2001
"... We present an algorithm that takes O(sort(N)) I/Os 1 to compute a tree decomposition of width at most k, for any graph G of treewidth at most k and size N. Given such a tree decomposition, we use a dynamic programming framework to solve a wide variety of problems on G in O(N/(DB)) I/Os, including th ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
(Show Context)
We present an algorithm that takes O(sort(N)) I/Os 1 to compute a tree decomposition of width at most k, for any graph G of treewidth at most k and size N. Given such a tree decomposition, we use a dynamic programming framework to solve a wide variety of problems on G in O(N/(DB)) I/Os, including the singlesource shortest path problem and a number of problems that are NPhard on general graphs. The tree decomposition can also be used to obtain an optimal separator decomposition of G. We use such a decomposition to perform depthfirst search in G in O(N/(DB)) I/Os. As important tools that are used in the tree decomposition algorithm, we introduce flippable DAGs and present an algorithm that computes a perfect elimination ordering of a ktree in O(sort(N)) I/Os. The second contribution of our paper, which is of independent interest, is a general and simple framework for obtaining I/Oefficient algorithms for a number of graph problems that can be solved using greedy algorithms in internal memory. We apply this framework in order to obtain an improved algorithm for finding a maximal matching and the first deterministic I/Oefficient algorithm for finding a maximal independent set of an arbitrary graph. Both algorithms take O(sort(V +E)) I/Os. The maximal matching algorithm is used in the tree decomposition algorithm.
I/Oefficient undirected shortest paths
 In Proc. 11th Annual European Symposium on Algorithms, volume 2832 of LNCS
, 2003
"... Abstract. We show how to compute singlesource shortest paths in undirected graphs with nonnegative edge lengths in O ( p nm/B log n + MST (n, m)) I/Os, where n is the number of vertices, m is the number of edges, B is the disk block size, and MST (n, m) is the I/Ocost of computing a minimum spann ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We show how to compute singlesource shortest paths in undirected graphs with nonnegative edge lengths in O ( p nm/B log n + MST (n, m)) I/Os, where n is the number of vertices, m is the number of edges, B is the disk block size, and MST (n, m) is the I/Ocost of computing a minimum spanning tree. For sparse graphs, the new algorithm performs O((n / √ B) log n) I/Os. This result removes our previous algorithm’s dependence on the edge lengths in the graph. 1