An interactive PyQt6 application visualizing sorting, graph search, and pathfinding algorithms as generators.
- Visualize sorting algorithms: Bubble Sort, Merge Sort, Quick Sort, Heap Sort
- Visualize graph algorithms: Breadth-First Search (BFS), Depth-First Search (DFS), Dijkstra's algorithm
- Visualize pathfinding algorithms: A* and BFS on a 2D grid with interactive wall drawing
- Adjustable animation speed and array size
- Step-by-step algorithm execution via generator-based implementations
- Dark theme with color-coded steps for clarity
- Built with PyQt6 for a responsive desktop interface
Prerequisites: Python 3 (PyQt6 is installed from requirements.txt).
- Clone the repository.
- Install dependencies:
pip install -r requirements.txt - Run the application:
python main.py
main.py: Application entry pointgui.py: Main window with tabs and controlsvisualizer.py: Canvas widgets for sorting, graph, and grid visualizationsorting_algorithms.py: Generator implementations of sorting algorithmsgraph_algorithms.py: Generator implementations of graph algorithms (BFS, DFS, Dijkstra)pathfinding.py: Generator implementations of A* and grid BFSutils.py: Shared constants, color palette, and helper functionsrequirements.txt: PyQt6 dependency
Released under the MIT License (see LICENSE).