dijkstra algorithm
bellman ford
johnson's graph edge reweighting
johnson's algorithm