Kruskal’s algorithm to find the minimum cost spanning tree uses the greedy approach. The Greedy Choice is to pick the smallest weight edge that does not cause a cycle in the MST constructed so far.
Time Complexity: O(ElogE) or O(ElogV), Sorting of edges takes O(ELogE) time. After sorting, we iterate through all edges and apply the find-union algorithm. The find and union operations can take at most O(LogV) time. So overall complexity is O(ELogE + ELogV) time. The value of E can be at most O(V2), so O(LogV) is O(LogE) the same. Therefore, the overall time complexity is O(ElogE) or O(ElogV)
Auxiliary Space: O(V + E), where V is the number of vertices and E is the number of edges in the graph
* Added depth first search algorithm in Python and updated README.md
* Added output example in Depth First Search algorithm
* bug fixes
* Fixed spelling mistake on line 1 (alorithm-> algorithm)
* Moved the file from recursion folder to graphs folder and updated README.md
Co-authored-by: Prathamesh Sahasrabuddhe <prathamesh16020@gmail.com>