As described above, the starting vertex for the algorithm will be chosen arbitrarily, because the first iteration of the main loop of the algorithm will have a set of vertices in "Q" that all have equal weights, and the algorithm will automatically start a new tree in "F" when it completes a spanning tree of each connected component of the input graph. The algorithm may be modified to start with any particular vertex "s" by setting "C"["s"] to be a number smaller than the other values of "C" (for instance, zero), and it may be modified to only find a single spanning tree rather than an entire spanning forest (matching more closely the informal description) by stopping whenever it encounters another vertex flagged as having no associated edge.