Computes shortest paths from a single source to all other vertices, handles negative edge weights but not negative cycles.
Explain code with DocComment! Try out your own code!