An interactive graph creation and graph theory visualisation application meant to help people understand how graph theory algorithms work.
I will now give a demonstration of what a user would see if they were to run this program. First, they would be presented with this GUI which allows them to create their custom graphs. After selecting the "Add node" button, the user is now able to click on the grey portion and add nodes. A user is also able to add edges by selecting the "Add edge" button before clicking on the nodes that they want to edge to be between. Finally, by clicking on the "Selection" button, the user is greeted with a number of classic Graph Theory Algorithms. They are also able to select a starting node where they want the algorithm to start on. After clicking "Run", a gif will be generated, showing the algorithm being run on your custom graph. An example is shown below.
The user interface and graph creation was done using pygame and networkx. The animation of the graphs was done using matplotlib.
Includes: DFS, BFS, Kruskal's and Dijkstras
This project was meant to be a culmination of all the skills learned so far. These include various graph theory algorithms, the OOP paradigm, the use of various python libraries and designing a user friendly interface to allow for a comphrensive experience.