# Algorithms for dense graphs and networks on the random access computer

- Received:
- Revised:

DOI: 10.1007/BF01940880

- Cite this article as:
- Cheriyan, J. & Mehlhorn, K. Algorithmica (1996) 15: 521. doi:10.1007/BF01940880

- 133 Downloads

## Abstract

We improve upon the running time of several graph and network algorithms when applied to dense graphs. In particular, we show how to compute on a machine with word size λ=Ω (log*n*) a maximal matching in an*n*-vertex bipartite graph in time*O*(*n*^{2}+*n*^{2.5}/λ)=*O*(*n*^{2.5}/log*n*), how to compute the transitive closure of a digraph with*n* vertices and*m* edges in time*O*(*n*^{2}+*nm*/λ), how to solve the uncapacitated transportation problem with integer costs in the range [*O.C*] and integer demands in the range [−*U.U*] in time*O* ((*n*^{3} (log log/log*n*)^{1/2}+n^{2} log*U*) log*nC*), and how to solve the assignment problem with integer costs in the range [*O.C*] in time*O*(*n*^{2.5} log*nC*/(log*n*/loglog*n*)^{1/4}).

Assuming a suitably compressed input, we also show how to do depth-first and breadth-first search and how to compute strongly connected components and biconnected components in time*O(nλ+n*^{2}/λ), and how to solve the single source shortest-path problem with integer costs in the range [*O.C*] in time*0 (n*^{2}(log*C*)/log*n*). For the transitive closure algorithm we also report on the experiences with an implementation.