Building a drag and drop desktop (Tkinter) application to help visualise various graph algorithms.
- drag and drop interface to build a graph
- can be weighted or unweighted
- in "node" mode...
- click to create a node
- drag to move a node and associated edges
- double-click to rename nodes, if the default names aren't sufficient
- double-right click to delete a node
- in "edge" mode...
- click and drag between nodes to create an edge
- drag to rotate a loopback edge out of the way
- double-click to change the weight of an edge
- double-right click to delete an edge
- choice of stepped or timed trace of supported algorithms
- available algorithms
- breadth-first / depth-first from a given start point (with or without end point, ie traversal and/or search)
- Dijkstra and A* shortest path
- Currently, this project uses the tweaked version of CustomTkinter that needs to be obtained directly from here until the submitted PR is approved into the main project.
- To run, install package then launch with "python -m nodemon"