algorithm - Bellman-Ford: all shortest paths -
i've implemented bellman-ford find distance of shortest path when edges have negative weights/distances. i've not been able return shortest paths (when there ties shortest). managed shortest paths (between given pair of nodes) dijkstra. possible bellman-ford? (just want know if i'm wasting time trying) if alter second step of bellman-ford algorithm little bit can achieve similar: for 1 size(vertices)-1: each edge uv in edges: // uv edge u v u := uv.source v := uv.destination if u.distance + uv.weight < v.distance: v.distance := u.distance + uv.weight v.predecessor[] := u else if u.distance + uv.weight == v.distance: if u not in v.predecessor: v.predecessor += u where v.predecessor list of vertices. if new distance of v equals path isn't included yet include new predecessor. in order print shortest paths use like procedure printpaths(vertex current, vertex start, list used, string path): if current == start: print start.id + " -> " + path else...