Finding The Shortest Path In A Graph