Skip to content

A Python Tkinter-based tool to visualize graph algorithms (BFS, DFS, Dijkstra, Prim’s, Bellman-Ford, Floyd-Warshall) with animations.

License

Notifications You must be signed in to change notification settings

AgarwalMohini/GraphVisualizationProject

Repository files navigation

📌 Graph Visualization Project

This project is a Graph Algorithm Visualizer built using Python, Tkinter, and Matplotlib. It shows step-by-step visualizations of popular graph algorithms, helping users understand how each algorithm works internally.

🚀 Features

Interactive GUI using Tkinter

Real-time graph animations using Matplotlib

Visual representation of paths, visited nodes, and edges

Multiple graph algorithms implemented

Beginner-friendly and modular code structure

🔥 Note: Animation speed control is not yet implemented (feature planned for future update).

🧠 Algorithms Implemented

✔ Traversal & Pathfinding Algorithms

BFS (Breadth-First Search)

DFS (Depth-First Search)

Dijkstra’s Algorithm

A* Search Algorithm

Bellman–Ford Algorithm

Floyd–Warshall Algorithm

✔ Minimum Spanning Tree

Prim’s Algorithm

✔ Graph Utilities

Sample Graph Generator

🗂 Project Structure

GraphVisualizationProject/ │── main.py │── Core/ │── Algorithms/ │── visualization/ │── Assets/ (if any) │── venv/ (should not be uploaded ideally) │── README.md

🛠 Tech Stack

Python 3

Tkinter → User Interface

Matplotlib → Drawing & Animations

NetworkX (if used)

📥 Installation & Setup

1️⃣ Clone the repository git clone https://github.com/YOUR_USERNAME/GraphVisualizationProject.git

2️⃣ Install required dependencies

If you have a requirements.txt, use this:

pip install -r requirements.txt

If not, install manually:

pip install matplotlib pip install networkx

(Tkinter comes pre-installed with Python.)

▶️ Running the Application python main.py

This will open the Graph Visualizer interface.

🎥 Demo Video

Here is a complete demonstration of the Graph Visualization Project:

👉 Click here to watch the demo video

✨ Features

  • Visualizes BFS, DFS, Dijkstra, Prim’s, Bellman-Ford, Floyd-Warshall
  • Adjustable animation speed
  • Clean and interactive UI
  • Graph creation with nodes and edges
  • Real-time animations
  • Error handling and alerts
  • Detailed step-by-step path calculation

🔧 Future Improvements

Add animation speed slider

Add option to build custom graphs manually

Add playback controls (pause/resume, step-by-step)

Add edge weight editing through UI

Add dark/light theme

👩‍💻 Author

Mohini Agarwal Python Developer | B.Tech CS