grow and shrink algorithm

will be used to find minimum spanning forest
utilities

will be useful in the implementation of grow and shrink
grow and shrink algo