title: Algorithm finding an MST using DFS
body: <p>I have the following algorithm: For a given (finite undirected simple) graph G=(V,E) with positive weight function on the edges:</p>
  
  <ol>
  <li>Run DFS (depth-first-search) till you find an edge going backwards or DFS stopped. If stopped, return G.</li>
  <li>On the circle that is constructed by the backwards going edge find the heaviest edge and remove it from G.</li>
  <li>Return to 1.</li>
  </ol>
  
  <p>Now I need to understand what this algorithm is doing. I have already proven that the algorithm gives me a spanning tree of G and I believe it's a minimum spanning tree but I fail to prove that. Please help me to prove that.</p>