Skip to content

omercsbn/algoviz-platform

Repository files navigation

🧮 AlgoViz - Algorithm Visualization Laboratory

Modern and interactive algorithm visualization platform. Sorting, searching, graph, tree algorithms and complexity analysis.

🎥 Demo Video

AlgoViz Platform Demo

Comprehensive demo of the platform - sorting algorithms, speed control, pause/resume, keyboard shortcuts and more

✨ Features

🔄 Sorting Algorithms

  • Bubble Sort - Simple comparison-based sorting
  • Merge Sort - Divide and conquer approach
  • Quick Sort - Pivot-based fast sorting
  • Heap Sort - Using heap data structure

🔍 Search Algorithms

  • Linear Search - Sequential search
  • Binary Search - Binary search (for sorted arrays)
  • Interpolation Search - Interpolation search

🌳 Tree Algorithms

  • Binary Search Tree (BST) - Binary search tree
  • AVL Tree - Self-balancing tree
  • Red-Black Tree - Red-black tree
  • B-Tree - Multi-way tree

📊 Graph Algorithms

  • DFS (Depth-First Search) - Depth-first search
  • BFS (Breadth-First Search) - Breadth-first search
  • Dijkstra's Algorithm - Shortest path algorithm
  • A Algorithm* - Heuristic-based pathfinding

⚡ Complexity Analysis

  • Time Complexity visualization
  • O(1), O(log n), O(n), O(n log n), O(n²), O(2ⁿ) comparison
  • Interactive graph display

🧠 Dynamic Programming & Greedy

  • Knapsack Problem - Knapsack problem
  • DP vs Greedy comparison
  • Optimal substructure analysis

🎮 Advanced Features

  • ⌨️ Keyboard Shortcuts (Space/Enter: Start, P: Pause, R: Reset, S: Shuffle)
  • 📊 Real-time Progress Tracking
  • 🔔 Toast Notifications for user-friendly feedback
  • 🎨 Dark/Light Theme support
  • 📱 Responsive Design
  • Error Handling and validation
  • 🎯 Step-by-step visualization

🛠️ Technology Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS, Shadcn/ui
  • State Management: React Hooks, Context API
  • Animations: CSS Transitions, Custom animations
  • Icons: Lucide React
  • Charts: Recharts (for complexity visualizations)

🚀 Installation

# Clone the repository
git clone https://github.com/omercsbn/algoviz-platform.git
cd algoviz-platform

# Install dependencies
npm install

# Start development server
npm run dev

# Open in browser: http://localhost:3000

📝 Usage

  1. Select from left menu the algorithm category you want
  2. Choose algorithm and adjust parameters
  3. Click Start button or use Space key
  4. Follow the visualization
  5. Control animation speed with speed settings

⌨️ Keyboard Shortcuts

Key Function
Space/Enter Start algorithm
P Pause/Resume
R Reset
S Shuffle/Refresh

🎯 Educational Goals

This platform specifically provides learning in the following areas:

  • Algorithm analysis and complexity theory
  • Data structures and algorithms
  • Time/Space complexity concepts
  • Algorithm optimization
  • Problem solving techniques

📸 Screenshots & Demo

🎥 Complete Platform Demonstration

AlgoViz Platform Demo

Live demo: Sorting algorithms, real-time visualization, speed control and interactive features

🤝 Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.

👨‍💻 Developer

Ömercan Sabun

🙏 Acknowledgments

  • Next.js team for the amazing framework
  • Shadcn/ui for the beautiful component library
  • Tailwind CSS for utility-first CSS
  • Lucide for the icons

⭐ If you liked this project, don't forget to give it a star!

About

Modern and interactive algorithm visualization platform. Sorting, searching, graph, tree algorithms and complexity analysis.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors