Results 1 
9 of
9
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 81 (36 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.
Externalmemory breadthfirst search with sublinear I/O
 IN PROCEEDINGS OF THE 10TH ANNUAL EUROPEAN SYMPOSIUM ON ALGORITHMS
, 2002
"... Breadthfirst search (BFS) is a basic graph exploration technique. We give the first external memory algorithm for sparse undirected graphs with sublinear I/O. The best previous algorithm requires \Theta (n + n+mD\Delta B \Delta logM=B n+mB) I/Os on a graph with n nodes and m edges and a machine w ..."
Abstract

Cited by 47 (13 self)
 Add to MetaCart
Breadthfirst search (BFS) is a basic graph exploration technique. We give the first external memory algorithm for sparse undirected graphs with sublinear I/O. The best previous algorithm requires \Theta (n + n+mD\Delta B \Delta logM=B n+mB) I/Os on a graph with n nodes and m edges and a machine with mainmemory of size M, D parallel disks, and block size B. We present two versions of a new algorithm which requires only O i (p 1D\Delta B + p nm) \Delta n+mpD\Delta B \Delta logM=B n+mB
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 24 (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
A computational study of externalmemory BFS algorithms
 In SODA
, 2006
"... Breadth First Search (BFS) traversal is an archetype for many important graph problems. However, computing a BFS level decomposition for massive graphs was considered nonviable so far, because of the large number of I/Os it incurs. This paper presents the first experimental evaluation of recent exte ..."
Abstract

Cited by 18 (4 self)
 Add to MetaCart
Breadth First Search (BFS) traversal is an archetype for many important graph problems. However, computing a BFS level decomposition for massive graphs was considered nonviable so far, because of the large number of I/Os it incurs. This paper presents the first experimental evaluation of recent externalmemory BFS algorithms for general graphs. With our STXXL based implementations exploiting pipelining and diskparallelism, we were able to compute the BFS level decomposition of a webcrawl based graph of around 130 million nodes and 1.4 billion edges in less than 4 hours using single disk and 2.3 hours using 4 disks. We demonstrate that some rather simple externalmemory algorithms perform significantly better (minutes as compared to hours) than internalmemory BFS, even if more than half of the input resides internally. 1
I/OEfficient Planar Separators and Applications
, 2001
"... We present a new algorithm to compute a subset S of vertices of a planar graph G whose removal partitions G into O(N/h) subgraphs of size O(h) and with boundary size O( p h) each. The size of S is O(N= p h). Computing S takes O(sort(N)) I/Os and linear space, provided that M 56hlog² B. Together with ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We present a new algorithm to compute a subset S of vertices of a planar graph G whose removal partitions G into O(N/h) subgraphs of size O(h) and with boundary size O( p h) each. The size of S is O(N= p h). Computing S takes O(sort(N)) I/Os and linear space, provided that M 56hlog² B. Together with recent reducibility results, this leads to O(sort(N)) I/O algorithms for breadthfirst search (BFS), depthfirst search (DFS), and single source shortest paths (SSSP) on undirected embedded planar graphs. Our separator algorithm does not need a BFS tree or an embedding of G to be given as part of the input. Instead we argue that "local embeddings" of subgraphs of G are enough.
I/OOptimal Planar Embedding Using Graph Separators
, 2001
"... We present a new algorithm to test whether a given graph G is planar and to compute a planar embedding G of G if such an embedding exists. Our algorithm utilizes a fundamentally new approach based on graph separators to obtain such an embedding. The I/Ocomplexity of our algorithm is O(sort(N)). A s ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We present a new algorithm to test whether a given graph G is planar and to compute a planar embedding G of G if such an embedding exists. Our algorithm utilizes a fundamentally new approach based on graph separators to obtain such an embedding. The I/Ocomplexity of our algorithm is O(sort(N)). A simple simulation technique reduces the I/Ocomplexity of our algorithm to O(perm(N)). We prove a matching lower bound of W(perm(N)) I/Os for computing a planar embedding of a given planar graph.
I/OOptimal Algorithms for Outerplanar Graphs
, 2001
"... We present linearI/O algorithms for fundamental graph problems on embedded outerplanar graphs. We show that breadthfirst search, depthfirst search, singlesource shortest paths, triangulation, and computing an ɛseparator of size O(1/ɛ) takeO(scan(N)) I/Os on embedded outerplanar graphs. We also s ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We present linearI/O algorithms for fundamental graph problems on embedded outerplanar graphs. We show that breadthfirst search, depthfirst search, singlesource shortest paths, triangulation, and computing an ɛseparator of size O(1/ɛ) takeO(scan(N)) I/Os on embedded outerplanar graphs. We also show that it takes O(sort(N)) I/Os to test whether a given graph is outerplanar and to compute an outerplanar embedding of an outerplanar graph, thereby providing O(sort(N))I/O algorithms for the above problems if no embedding of the graph is given. As all these problems have lineartime algorithms in internal memory, a simple simulation technique can be used to improve the I/Ocomplexity of our algorithms from O(sort(N)) to O(perm(N)). We prove matching lower bounds for embedding, breadthfirst search, depthfirst search, and singlesource shortest paths if no embedding is given. Our algorithms for the above problems use a simple linearI/O timeforward processing algorithm for rooted trees whose vertices are stored in preorder.
Engineering a Topological Sorting Algorithm for Massive Graphs
"... We present an I/Oefficient algorithm for topologically sorting directed acyclic graphs (DAGs). No provably I/Oefficient algorithm for this problem is known. Similarly, the performance of our algorithm, which we call IterTS, may be poor in the worst case. However, our experiments show that IterTS a ..."
Abstract
 Add to MetaCart
We present an I/Oefficient algorithm for topologically sorting directed acyclic graphs (DAGs). No provably I/Oefficient algorithm for this problem is known. Similarly, the performance of our algorithm, which we call IterTS, may be poor in the worst case. However, our experiments show that IterTS achieves good performance in practise. The strategy of IterTS can be summarized as follows. We call an edge satisfied if its tail has a smaller number than its head. A numbering satisfying at least half the edges in the DAG is easy to find: a random numbering is expected to have this property. IterTS starts with such a numbering and then iteratively corrects the numbering to satisfy more and more edges until all edges are satisfied. To evaluate IterTS, we compared its running time to those of three competitors: PeelTS, an I/Oefficient implementation of the standard strategy of iteratively removing sources and sinks; ReachTS, an I/Oefficient implementation of a recent parallel divideandconquer algorithm based on reachability queries; and SeTS, standard DFSbased topological sorting built on top of a semiexternal DFS algorithm. In our evaluation on various types of input graphs, IterTS consistently outperformed PeelTS and ReachTS, by at least an order of magnitude in most cases. SeTS outperformed IterTS on most graphs whose vertex sets fit in memory. However, IterTS often came close to the running time of SeTS on these inputs and, more importantly, SeTS was not able to process graphs whose vertex sets were beyond the size of main memory, while IterTS was able to process such inputs efficiently.