Source: https://classes.engineering.wustl.edu/cse241/handouts/prim.pdf