Graph Algorithm Visualizer is a Python project that demonstrates the functionality of various graph search algorithms through a graphical user interface (GUI). It allows users to visualize how different algorithms explore a graph to find a path between two nodes. The project utilizes tkinter for the GUI and a custom graph implementation to perform the searches.
- Visualize Breadth-First Search (BFS), Depth-First Search (DFS), Uniform Cost Search (UCS), Depth-Limited Search (DLS), and Iterative Deepening Search (IDS).
- Interactive GUI for easy usage and visualization.
- Customizable graph for testing different scenarios and algorithms. Components
Graph Algorithm Implementation: A custom graph class that supports various search algorithms. GUI: A tkinter based interface for interaction and visualization. Utility Class: Includes utility functions and classes, such as the GraphVisualizer for rendering the graph on the GUI.
To get started with Graph Algorithm Visualizer, you'll need to have Python installed on your system. This project was developed with Python 3.x.
- Clone the repository to your local machine:
git clone https://github.com/BigB021/Graph-Algorithm-Visualizer.git
- Navigate to the cloned directory:
cd graph-algorithm-visualizer
- Install the required dependencies (if any):
pip install -r requirements.txt
To run the visualizer, execute the main script :
python main_script.py
This will open up the GUI, where you can interact with the predefined graph or customize it to your liking. You can visualize different search algorithms by clicking on the respective buttons.
Contributions to Graph Algorithm Visualizer are welcome! If you have an improvement or bug fix, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or fix.
- Commit your changes with descriptive messages.
- Push your branch and open a pull request against the main branch. Please ensure your code adheres to the project's coding style and has been tested thoroughly.
This project is inspired by the desire to understand and visualize graph search algorithms in action.
Auhtor : Youssef Aitbouddroub