Skip to content

Latest commit

Β 

History

History
121 lines (86 loc) Β· 3.18 KB

File metadata and controls

121 lines (86 loc) Β· 3.18 KB

Algorithm Visualizer & Practice Problems πŸš€

An interactive algorithm visualizer + coding playground.
Visualize classic algorithms step-by-step OR write your own code and see it animate live.
Perfect for learning, teaching, or practicing coding interview problems.


✨ Features

  • πŸŽ₯ Algorithm Visualizer – Watch algorithms animate step-by-step with explanations.
  • πŸ’» Coding Playground – Write your own solution, run it, and visualize instantly.
  • πŸ“š Practice Problems – Solve curated problems across data structures & algorithms.
  • πŸ“ˆ Categories Supported (more coming soon):
    • Arrays & Strings
    • Linked Lists
    • Stacks & Queues
    • Recursion
    • Dynamic Programming

πŸ–₯️ Run Locally

Clone and serve the project:

git clone https://github.com/your-username/algorithm-visualizer.git
cd algorithm-visualizer

# Run with Python
python -m http.server 8000

# Or with Node.js
npx http-server
⚠️ Note: ES6 modules require serving via HTTP. Opening index.html directly may cause import errors.

πŸ“‚ Project Structure
bash
Copy
Edit
algorithm-visualizer/
β”‚
β”œβ”€β”€ index.html                 # Main app entry
β”œβ”€β”€ style.css                  # Styling & animations
β”œβ”€β”€ script.js                  # Core JavaScript logic
β”‚
β”œβ”€β”€ algorithms/                # Algorithm implementations
β”‚   └── algorithms.js
β”‚
β”œβ”€β”€ problems/                  # Problem definitions
β”‚   └── array_practice.js
β”‚
└── README.md
πŸ§‘β€πŸ’» Example Problems
Sliding Window β†’ Maximum sum subarray

Two Pointers β†’ Find pair with target sum

Stack β†’ Next Greater Element

Linked List β†’ Reverse a linked list

Recursion β†’ Fibonacci sequence visualization

🎯 How to Use
Select an algorithm or problem from the dropdown.

Click Run Algorithm (for built-ins) or Run My Code (for your solution).

Watch the visualization animate step-by-step with highlights and explanations.

Debug, tweak, and improve your code visually.

πŸš€ Roadmap
 Add linked list, tree, and graph visualizations

 Expand problem sets (DP, Greedy, Graphs)

 User progress tracking & difficulty levels

 Advanced debugging tools

 Richer UI/UX with step controls

πŸ› οΈ Tech Stack
Technology	Purpose
HTML5	App structure
CSS3	Styling & animations
Vanilla JS	Core logic with ES6 modules
No frameworks	Lightweight, browser-only build

🀝 Contributing
Contributions are welcome! πŸŽ‰
You can help by:

Adding new algorithms to algorithms/algorithms.js

Creating new problems in problems/

Enhancing UI/UX or visualization features

Expanding the documentation

To contribute:

Fork the repo

Create a feature branch (git checkout -b feature/new-algorithm)

Commit changes

Open a Pull Request 🎯

πŸ“„ License
This project is licensed under the MIT License.
Feel free to use, modify, and share for learning or teaching purposes.