Skip to content

๐Ÿง  Algorithm Visualizer / DSV is a web-based tool ๐ŸŒ that lets users create ๐Ÿ› ๏ธ, manipulate ๐Ÿ”„, and visualize ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ fundamental data structures ๐Ÿ“Š and sorting algorithms ๐Ÿ”ข. It brings life to arrays ๐Ÿ“ฆ, linked lists ๐Ÿ”—, stacks ๐Ÿ“š, and queues ๐Ÿšถ, while animating popular algorithms like Bubble Sort ๐Ÿซง, Insertion Sort ๐Ÿช›, and more in a simple manner

License

Notifications You must be signed in to change notification settings

jishanahmed-shaikh/Algorithm-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ Data Structures Visualizer (DSV)

DSV Logo

Interactive Web-Based Learning Tool for Data Structures & Algorithms ๐Ÿ“šโœจ

Python Flask License


๐Ÿš€ Overview

DSV is a powerful, interactive web application that brings data structures and sorting algorithms to life! Perfect for students, educators, and developers who want to visualize and understand how fundamental computer science concepts work under the hood.

โœจ Features

๐Ÿ”„ Sorting Algorithms

Visualize step-by-step sorting with beautiful animations:

  • ๐Ÿซง Bubble Sort - Watch elements bubble to their correct positions
  • ๐ŸŽฏ Selection Sort - See the selection of minimum elements
  • ๐Ÿ“ Insertion Sort - Observe elements being inserted in order
  • ๐Ÿ”€ Merge Sort - Experience the divide-and-conquer approach

๐Ÿ—๏ธ Data Structures

Interactive manipulation of core data structures:

  • ๐Ÿ”— Linked Lists - Insert/delete from beginning or end with visual connections
  • ๐Ÿ“š Stacks - Push/pop operations with LIFO visualization
  • ๐Ÿšถโ€โ™‚๏ธ Queues - Enqueue/dequeue with FIFO demonstration

๐ŸŽฎ Interactive Controls

  • ๐ŸŽฒ Custom Array Generation - Set size, min/max values
  • โšก Speed Control - Adjust animation speed to your preference
  • ๐Ÿ‘† Step-by-Step Mode - Manual control over each operation
  • ๐Ÿค– Auto Mode - Sit back and watch the magic happen

๐Ÿ› ๏ธ Installation & Setup

Prerequisites

Make sure you have Python 3.7+ installed on your system.

Quick Start

# ๐Ÿ“ฅ Clone the repository
git clone https://github.com/jishanahmed-shaikh/Algorithm-Visualizer.git
cd Algorithm-Visualizer

# ๐Ÿ“ฆ Install dependencies
pip install flask numpy

# ๐Ÿš€ Run the application
python app.py

# ๐ŸŒ Open your browser and navigate to:
# http://127.0.0.1:5000

๐ŸŽฏ How to Use

  1. ๐ŸŽฒ Generate Data: Create custom arrays or use random generation
  2. ๐Ÿ”ง Choose Algorithm: Select from bubble, selection, insertion, or merge sort
  3. โšก Set Speed: Adjust animation speed using the slider
  4. โ–ถ๏ธ Visualize: Watch your data come to life with smooth animations
  5. ๐Ÿ—๏ธ Explore Structures: Switch to stacks, queues, or linked lists for hands-on learning

๐Ÿ”Œ API Endpoints

Sorting Operations

  • POST /generateDS ๐ŸŽฒ - Generate random array
  • POST /sort ๐Ÿ”„ - Execute sorting algorithm

Linked List Operations

  • POST /linkedlist/insert_beginning โž• - Insert at head
  • POST /linkedlist/insert_end โž• - Insert at tail
  • POST /linkedlist/delete_beginning โž– - Delete from head
  • POST /linkedlist/delete_end โž– - Delete from tail

Stack Operations

  • POST /stack/push โฌ†๏ธ - Push element
  • POST /stack/pop โฌ‡๏ธ - Pop element

Queue Operations

  • POST /queue/enqueue โžก๏ธ - Add to queue
  • POST /queue/dequeue โฌ…๏ธ - Remove from queue

๐Ÿ› ๏ธ Tech Stack

  • ๐Ÿ Backend: Python + Flask
  • ๐Ÿงฎ Data Processing: NumPy
  • ๐ŸŽจ Frontend: HTML5, CSS3, Vanilla JavaScript
  • ๐Ÿ“ฑ Responsive Design: Mobile-friendly interface
  • ๐ŸŽญ Animations: CSS transitions + JavaScript

๐ŸŽฏ Educational Benefits

  • ๐Ÿ‘๏ธ Visual Learning: See algorithms in action
  • ๐Ÿง  Concept Reinforcement: Interactive manipulation builds understanding
  • โฑ๏ธ Complexity Analysis: Observe time complexity differences
  • ๐ŸŽ“ Perfect for: Computer Science students, coding bootcamps, self-learners

๐Ÿš€ Future Enhancements

  • ๐ŸŒณ Tree Structures: Binary trees, AVL trees, heaps
  • ๐Ÿ“Š Graph Algorithms: BFS, DFS, shortest path
  • ๐Ÿ” Search Algorithms: Binary search, linear search
  • ๐ŸŽจ Enhanced UI: Dark mode, themes, better animations
  • ๐Ÿ“ฑ Mobile App: Native iOS/Android versions
  • ๐Ÿ”Š Audio Feedback: Sound effects for operations

๐Ÿค Contributing

We love contributions! Here's how you can help:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create a 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 - see the LICENSE file for details.

๐ŸŽ“ Start your data structures journey today!

Made with โค๏ธ for the learning community

โญ Star this repo if it helped you learn! โญ

About

๐Ÿง  Algorithm Visualizer / DSV is a web-based tool ๐ŸŒ that lets users create ๐Ÿ› ๏ธ, manipulate ๐Ÿ”„, and visualize ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ fundamental data structures ๐Ÿ“Š and sorting algorithms ๐Ÿ”ข. It brings life to arrays ๐Ÿ“ฆ, linked lists ๐Ÿ”—, stacks ๐Ÿ“š, and queues ๐Ÿšถ, while animating popular algorithms like Bubble Sort ๐Ÿซง, Insertion Sort ๐Ÿช›, and more in a simple manner

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published