We formalize a potentially rich new streaming model, the semi-streaming model, that we believe is necessary for the fruitful study of efficient algorithms for solving problems on massive graphs whose
edge sets cannot be stored in memory. In this model, the input graph, G=(V,E), is presented as a stream of edges (in adversarial order), and the storage space of an algorithm is bounded by O(n·polylog n), where n = |V|. We are particularly interested in algorithms that use only one pass over the input, but, for problems where this is provably
insufficient, we also look at algorithms using constant or, in some cases, logarithmically many passes. In the course of this
general study, we give semi-streaming constant approximation algorithms for the unweighted and weighted matching problems,
along with a further algorithm improvement for the bipartite case. We also exhibit log n/log log n semi-streaming approximations to the diameter and the problem of computing the distance between specified vertices in a weighted
graph. These are complemented by Ω (log(1 − − ε)
n) lower bounds.
This work was supported by the DoD University Research Initiative (URI) administered by the Office of Naval Research under
Grant N00014-01-1-0795.