Published on *Computer Science Department at Princeton University* (http://www.cs.princeton.edu)

A pseudoforest is a graph each of whose connected components is a tree or a tree plus an edge; a spanning pseudoforest of a graph contains the greatest number of edges possible. This paper shows that a minimum cost spanning pseudoforest of a graph with n vertices and m edges can be found in O(m+n)

time. This implies that a minimum spanning tree can be found in O(m) time for graphs with girth at least log(i)n for some constant i.