Minimum Spanning Tree using the kruskal's Algorithm. Took me a lot of time to actually write the cycle detector.