Source: https://www.ijert.org/research/implementation-of-shortest-path-algorithm-using-in-c-IJERTV2IS60569.pdf