add bellman-ford, dijkstra, and johnson algorithms