A C++ program that uses Disjkstra algorithm to find the closest path between two nodes from the map of Luxembourg On program startup the main window has the following buttons: Draw which lets you draw nodes and arcs on the screen, Root button which find the root of the tree drawn on the screen;this was part of the homework.
The button named Luxemborg displays a map formed from lots and lots of nodes and arcs from an xml file. Pressing on 2 nodes from the screen will unlock the Dijkstra button and will recolour the path from start to finish in red. The program uses modern Data Structures, Smart Pointers for memory management, iterators and the classes have implemented the rule of 5.