PathFinding using Dijkstras algorithm.

Project Overview and Inspiration.

For my module for Advanced Programming at the university, the objective was creating a Path Finding algorithm with the C++ codebase using an algorithm of choice. I applied advanced programming concepts while ensuring the app was robust and efficient.

Software Design.

Initial starting code was provided and mandatory, which was utilized at the beginning of the program. I implemented Dynamic data structures to store dynamic data such as nodes(places) and arcs(pathways). The user executes commands through a text file containing locations. The software will then determine if the areas are available, which mode of transport is possible and the distance between the 2(or more) locations. There were several rules which were applied when moving through arcs which are:

  • A rail or ship journey may only use arcs(paths) of the corresponding mode.
  • A bus journey may use bus and ship arcs, while a car journey may use car, bus and ship arcs.
  • a bike journey may use bike arcs and the 2 previously mentioned arcs.
  • A foot journey can use any arc.

Tools Used.

  • C++ code base.
  • Parasoft. (Wonderful profiling software helps improve code efficiency).

Projects Source Code.

https://github.com/Kikumu/a-pathfinder