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.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme