Source: https://courses.cs.washington.edu/courses/cse373/05sp/slides/MinSpanningTrees.ppt.pdf