Thanks for explanation, 


If you just want to know the number of connected components define
your own predecessor_map for kruskal_minimum_spanning_tree. Then you
can count the vertices with themselves as predecessor. These vertices
are the roots of the spearate trees:

 How to walk over those separate trees?
 Is it should be something like this?
Graph::vertex_iterator  vi, vi_end;
for(tie(vi, vi_end) = vertices(graphMST); vi != vi_end; ++vi)
 if(*vi == pred[get(vi_map, *vi)])
   num_components++;
else
{
 WriteOutTree(num_components);??? ///
}