Overview
In this programming exercise, you will use Dijkstra’s shortest path algorithm to calculate the shortest path between two physical locations. You will be provided a series of locations and the distances between them. In addition, you will be provided with a source and destination location. Your program should provide a series of locations that should be traversed to reach the final destination by traveling the minimal distance. It should also report the total distance traveled.
System Requirements and Implementation Details
You can assume that the input file is well-formed; this isn’t intended to be an exercise in text parsing and input validation. You can also assume that location names do not contain white space, (e.g. San Diego would be represented as san_diego). The first line of the text file will contain the source location, and the second will contain the destination city. Each line thereafter will contain two location names and the distance between them.
You can assume that path descriptions are one way. For example, if Logan is connected to providence, then there will be two lines in the text file as shown below:
logan providence 4
providence logan 4
Your solution must account for the situation where a destination is not reachable from a source. Also, you may assume that the total distance from source to destination will not exceed the value representable by a uint32_t.
To assist in grading, the output of your program should follow the model below precisely:
start_location
first_intermediate_location
second_intermediate_location
...
Last_intermediate_location
Destination_location
Total Distance: xxx
Should your program determine that the destination is not reachable from the source, it should report:
<destination> not reachable from <source>
Also to assist with grading your program should use the Dijkstra.hpp file as an interface to your code. The grading code will use this interface to create a concrete object. In addition to the standardized output above, your code should call the provided callback for each visited city along the shortest path in the correct order.
Programming Concepts
This exercise covers many programming concepts including Dijkstra’s shortest path algorithm, STL structures, iteration, search, text parsing, and stream operations.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of