Book contents
- Frontmatter
- Contents
- Preface
- I Tools and Techniques
- II Applications
- 8 Data Structures
- 9 Geometric Algorithms and Linear Programming
- 10 Graph Algorithms
- 11 Approximate Counting
- 12 Parallel and Distributed Algorithms
- 13 Online Algorithms
- 14 Number Theory and Algebra
- Appendix A Notational Index
- Appendix B Mathematical Background
- Appendix C Basic Probability Theory
- References
- Index
10 - Graph Algorithms
from II - Applications
Published online by Cambridge University Press: 05 March 2013
- Frontmatter
- Contents
- Preface
- I Tools and Techniques
- II Applications
- 8 Data Structures
- 9 Geometric Algorithms and Linear Programming
- 10 Graph Algorithms
- 11 Approximate Counting
- 12 Parallel and Distributed Algorithms
- 13 Online Algorithms
- 14 Number Theory and Algebra
- Appendix A Notational Index
- Appendix B Mathematical Background
- Appendix C Basic Probability Theory
- References
- Index
Summary
IN this chapter we consider several fundamental optimization problems involving graphs: all-pairs shortest paths, minimum cuts, and minimum spanning trees. In each case, deterministic polynomial time algorithms are known, but the use of randomization allows us to obtain significantly faster solutions for these problems. We show that the problem of computing all-pairs shortest paths is reducible, via a randomized reduction, to the problem of multiplying two integer matrices. We present a fast randomized algorithm for the min-cut problem in undirected graphs, thereby providing evidence that this problem may be easier than the max-flow problem. Finally, we present a linear-time randomized algorithm for the problem of finding minimum spanning trees.
Unless stated otherwise, all the graphs we consider are assumed to be undirected and without multiple edges or self-loops. For shortest paths and min-cuts we restrict our attention to unweighted graphs, although in some cases the results generalize to weighted graphs; we give references in the discussion at the end of the chapter.
All-pairs Shortest Paths
Let G(V,E) be an undirected, connected graph with V = ﹛l,…,n﹜ and \E\ = m. The adjacency matrix A is an n x n 0-1 matrix with Aij = Aji = 1 if and only if the edge (i, j) is present in E. Given A, we define the distance matrix D as an n x n matrix with non-negative integer entries such that Dij equals the length of a shortest path from vertex i to vertex j.
- Type
- Chapter
- Information
- Randomized Algorithms , pp. 278 - 305Publisher: Cambridge University PressPrint publication year: 1995