Abstract

Obtaining I/O-efficient algorithms for basic graph problems on sparse directed graphs has been a long-standing open problem. The best known algorithms for most basic problems on such graphs still require O (V ) I/Os in the worst case, where V is the number of vertices in the graph. Nevertheless optimal O(sort(V )) I/O algorithms are known for special classes of sparse graphs, like planar graphs and grid graphs. It is hard to accept that a problem becomes difficult as soon as the graph contains a few deviations from planarity. In this paper we extend the class of graphs on which basic graph problems can be solved I/O-efficiently. We discuss several ways to transform graphs that are almost planar into planar graphs (given a suitable drawing), and based on those transformations we obtain the first I/O-efficient algorithms for directed graphs that are almost planar. Let G be a directed graph that is given as a planar subgraph (V; E) and a set of additional edges EC. Our main result is a single-source-shortest-paths algorithm that runs in O(EC + sort(V + EC)) I/Os. When EC is small our algorithm is a significant improvement over the best previously known algorithms, which required (V ) I/Os. Alternatively, when G is given with a drawing with T crossings, we can compute single-source shortest paths in O(sort(V + T)) I/Os. We obtain similar bounds for computing (strongly) connected components, breadth-first and depth-first traversals and topological ordering.

Highlights

  • When working with massive graphs, only a fraction of the data can be held in the main memory of a computer

  • As graph problems are widely encountered in practice, I/O-efficient algorithms for graph problems have been an active area of research

  • We introduce a class of near-planar graphs and show how to find small separators for planar subgraphs of such graphs, that gracefully depend on the non-planarities

Read more

Summary

Introduction

When working with massive graphs, only a fraction of the data can be held in the main memory of a computer. For general digraphs, the SSSP problem is still open, as are other basic problems such as the computation of connected components (CC), strongly-connected components (SCC), and depth- and breadth-first traversals (DFS, BFS) We note that these problems are open on undirected graphs, the best known upper bounds on undirected graphs have seen significant progress in the recent years. The reductions rely crucially on the fact that there are a factor of B fewer separator vertices, and they are distributed among the subgraphs, so that each subgraph has a small boundary Using these ideas, on planar digraphs, SSSP and BFS can be solved in O(sort(V )) I/Os as described. We introduce a class of near-planar graphs and show how to find small separators for planar subgraphs of such graphs, that gracefully depend on the non-planarities Using these separators, we develop the first I/O-efficient SSSP, BFS, DFS, topological sorting and (strongly) connected components algorithms for near-planar digraphs.

Partitioning a Near-Planar Graph
Planar partition
Refining a planar partition
Non-planar SSSP using a Refined Partition
The substitute graph
Putting everything together
Other Non-planar Graph Problems using a Refined Partition
Topological order
Planarizing graphs
Graphs with low skewness
Graphs with small splitting number
Graphs with low crossing number
Graphs that are k-embeddable in the plane
Combining crossings and cross-links
Vertices with degree more than three
Discussion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call