An interactive, step-by-step algorithm visualization platform that brings algorithms to life through dynamic visual representations. Perfect for students, educators, and developers looking to understand how algorithms work under the hood.
Experience the visualizer live: Algorithm Visualizer
- Step-by-Step Visualization: Watch algorithms execute line by line with animated visual feedback
- Interactive Controls: Play, pause, step forward/backward through algorithm execution
- Customizable Inputs: Modify array values and algorithm parameters in real-time
- Beautiful Dark Mode UI: Modern, fuchsia-themed interface with smooth animations
- Speed Control: Adjust animation speed to match your learning pace
- Responsive Design: Works seamlessly across desktop and mobile devices
- Complexity Analysis Panel: View detailed Time and Space complexity (Best/Avg/Worst) for each algorithm
- Edge Case Testing Mode: Quickly load preset inputs (e.g., Sorted, Reverse Sorted) to test algorithm behavior
- Interactive Pseudocode Viewer: View and track algorithm pseudocode execution in real-time
- Recursive Call Stack Visualization: Visualizes the call stack growth and shrinkage for recursive algorithms (Merge Sort, Quick Sort)
- Linked List Visualization: Dynamic, arrow-based visualization for linked list operations
- Pathfinding Visualizer (Grid): Visualize Dijkstra's Algorithm on a 2D grid with walls and weighted nodes
- Smart Algorithm Comparison Mode: Side-by-side comparison with intelligent filtering - only shows comparable algorithms
- Tree Visualization: Visual representation of Binary Search Tree construction with node positioning
- React - Component-based UI architecture
- Tailwind CSS - Utility-first styling with custom fuchsia theme
- Vite - Fast development environment and optimized builds
- Lucide React - Beautiful, consistent icon system
- Framer Motion - Smooth animations for grid interactions
# Clone the repository
git clone <repository-url>
# Navigate to project directory
cd algorithm-visualizer
# Install dependencies
npm install
# Start development server
npm run devThe application will be available at http://localhost:5173
- Bubble Sort - Simple comparison-based sorting
- Selection Sort - In-place comparison sorting
- Insertion Sort - Builds sorted array one element at a time
- Merge Sort - Divide-and-conquer sorting (O(n log n))
- Quick Sort - Efficient partition-based sorting
- Binary Search - Logarithmic search on sorted arrays
- Dijkstra's Algorithm - Shortest path in a weighted graph
- A Search Algorithm* - Heuristic-based pathfinding (Manhattan Distance)
- Breadth First Search (BFS) - Shortest path in unweighted graph (Level-by-level)
- Depth First Search (DFS) - Exhaustive path exploration (Backtracking)
- Binary Search Tree (BST) - Tree insertion with step-by-step visualization
- In-Order Traversal - Left-Root-Right traversal (sorted order for BST)
- Pre-Order Traversal - Root-Left-Right traversal
- Post-Order Traversal - Left-Right-Root traversal
- Level-Order Traversal (BFS) - Breadth-first, level-by-level traversal
- BST Search - Search for value in Binary Search Tree
- BST Delete - Delete node with 3 cases (leaf, one child, two children)
- Two Sum - Hash map approach for pair finding
- Container With Most Water - Two pointer optimization
- Move Zeroes - In-place array manipulation
- Contains Duplicate - Efficient duplicate detection
- Maximum Subarray - Kadane's algorithm
- Longest Substring Without Repeating - Sliding window technique
- Reverse Linked List - Pointer manipulation
- Valid Parentheses - Stack-based validation
- Climbing Stairs - Dynamic programming
- Best Time to Buy and Sell Stock - Single-pass optimization
Total Algorithms: 26+ algorithms across multiple categories
- Sorting: 5 algorithms
- Searching: 2 algorithms (Binary Search, BFS/DFS)
- Tree: 7 algorithms (BST + Traversals + Operations)
- Pathfinding: 2 algorithms (Dijkstra, A*)
- Problem-Solving: 10+ algorithms
All algorithms feature:
- Step-by-step visualization
- Interactive controls
- Complexity analysis
- Pseudocode display
- Real-time statistics
- Real-time graphing of Comparisons, Swaps, and Recursive Calls
- Visualize O(n log n) vs O(nΒ²) behavior as array size increases
- Dynamic chart updates during execution
- Real-time Stock & Heap memory tracking
- Visual Call Stack growth/shrinkage for recursive algorithms
- Detailed view of memory allocation per step
- One-click generation of pathological inputs
- Examples: Quick Sort (sorted array), BST (skewed tree), Hash Table (collisions)
- Educational focus on "Why this input breaks the algorithm"
- Community platform for sharing custom inputs and algorithms
- User-submitted challenges and test cases
- Like/Star system for popular content
- Contextual guide: When to use (and NOT use) the current algorithm
- Alternatives and Trade-offs section
- Performance Dashboard: Side-by-side comparison table of Comparisons, Swaps, and Execution Time
- Code editor for users to write their own algorithms
- Syntax checking and error highlighting
- Execute custom code with the same visualization system
- Compare user solutions with optimal implementations
- AVL Tree with rotation visualization
- Red-Black Tree visualization
- Predict-the-next-step challenges
- Complexity estimation questions
- Algorithm selection for given problems
- Score tracking and learning progress
- User Authentication: Login/Register, Progress tracking, Favorites
- Persistent State: Save and resume visualization sessions
- Tech Stack: Node.js + Express + PostgreSQL/MongoDB
- Generate unique URLs for specific algorithm states (e.g.,
/share/quick-sort/abc123) - Share custom inputs, execution speeds, and visualization settings with peers
- "Deep Link" directly to a specific step in the algorithm
- Track most popular algorithms and average session times
- User interaction heatmaps to identify where learners get stuck
- Monetization Potential: Premium features based on advanced analytics
- Save and publish user-created algorithms and test cases
- Community voting and filtering for best educational examples
- Transform from a simple tool into a comprehensive Educational Platform
This project is developed for educational and portfolio purposes.
Built with β€οΈ for algorithm learners everywhere