I/O-optimal algorithms on grid graphs
Herman Haverkort

TL;DR
This paper introduces I/O-efficient algorithms for fundamental graph problems on grid graphs, achieving optimal I/O complexity of O(scan(n)) under certain memory conditions, improving upon previous Theta(sort(n)) algorithms.
Contribution
The paper presents the first I/O-optimal algorithms for several key graph problems on grid graphs, including shortest paths, MST, and topological sorting, with some being cache-oblivious.
Findings
Algorithms run in O(scan(n)) I/Os, matching the lower bound.
The minimum-spanning tree algorithm is cache-oblivious.
Estimated I/O volume suggests high practical efficiency.
Abstract
Given a graph of which the n vertices form a regular two-dimensional grid, and in which each (possibly weighted and/or directed) edge connects a vertex to one of its eight neighbours, the following can be done in O(scan(n)) I/Os, provided M = Omega(B^2): computation of shortest paths with non-negative edge weights from a single source, breadth-first traversal, computation of a minimum spanning tree, topological sorting, time-forward processing (if the input is a plane graph), and an Euler tour (if the input graph is a tree). The minimum-spanning tree algorithm is cache-oblivious. The best previously published algorithms for these problems need Theta(sort(n)) I/Os. Estimates of the actual I/O volume show that the new algorithms may often be very efficient in practice.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Geometry and Mesh Generation · Data Management and Algorithms · Advanced Data Storage Technologies
