A modular Python-based visualization framework for exploring classical algorithms, cellular automata, fractals, and procedural generation systems.
This project focuses on clarity, correctness, and architectural separation between algorithm logic and rendering.
Algorithm Visualization Lab provides interactive visual demonstrations of:
- Graph traversal and shortest path algorithms
- Comparison-based sorting algorithms
- Backtracking and constraint-solving systems
- Fractal geometry
- Cellular automata
- Procedural pattern generation
- Grid-based simulations
The goal is to improve conceptual understanding through deterministic and step-wise visual execution.
- Install the dependencies
uv sync- Run the app
uv run visualizations- A* Search
- Dijkstra’s Algorithm
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Bubble Sort
- Selection Sort
- Insertion Sort
- N-Queens
- Sudoku Solver
- Hilbert Curve
- Conway’s Game of Life
- Wolfram Elementary Automata
- Wave Function Collapse
- Marching Squares
- Sand Particle Simulation
- Separation of algorithm logic from rendering layer
- Modular directory structure
- Reusable grid and animation framework
- Deterministic simulation stepping
- Object-oriented design
- Python – Core algorithm implementations
- Pygame – Real-time rendering and interaction
- UV – Dependency and environment management
- Strengthen intuition for classical algorithms
- Visualize algorithmic state transitions
- Explore emergent behavior systems
- Build a reusable visualization framework