PP4 Doc S2025
PP4 Doc S2025
A large portion of this assignment is researching and implementing Dijkstra's Algorithm. There is
information about this algorithm in your textbook and widely available on the web.
Working in teams of four, your project must consist of codes, report (2-3 pages), presentation (slides),
and zipped together.
The final report should be nicely formatted and include the description of your task, summary of
results, main conclusions, discussion of any surprising discoveries, and references.
The project concludes with a 15-20 min presentation held during the classes including the live demo.
Each group members must present some part of project.
Deliverables
Please submit complete projects as zipped folders. The zipped folder should contain:
· Graph.cpp (Your written Graph class)
· Graph.hpp (Your written Graph
class)
· GraphBase.hpp (The provided base class)
#ifndef GRAPHBASE_H
#define GRAPHBASE_H
#include <vector>
#include <string>
class GraphBase {
virtual void addVertex(std::string label) = 0;
virtual void removeVertex(std::string label) = 0;
virtual void addEdge(std::string label1, std::string label2, unsigned long
weight) = 0;
virtual void removeEdge(std::string label1, std::string label2) = 0;
virtual unsigned long shortestPath(std::string startLabel, std::string
endLabel, std::vector<std::string> &path) = 0;
};
#endif
· main.cpp (your written file)
Report
Slides
And any additional source and header files needed for your project.
Hints
Though it may be appealing to use an adjacency matrix, it might be simpler to complete this
algorithm using an adjacency list for each vertex.
Should have the labels for the shortest path for graph 1 13
Should have the labels for the shortest path for graph 2 13
Report 8
Presentation 10