Source: https://www.cs.ucdavis.edu/~bai/ECS122A/Notes/MST.pdf