Directed Graph Shortest Path