Implement Shortest Path Algorithm