Skip to content

The Algorithm Visualizer is a web app showcasing sorting algorithms (Bubble, Insertion, Quick, Merge, etc.) with adjustable animations, and Huffman encoding through real-time tree construction and binary code generation—ideal for learning core algorithm concepts interactively.

Notifications You must be signed in to change notification settings

BakulBd/algorithms-visualizer

Repository files navigation

🧑‍💻 Algorithms Visualizer

Welcome to Algorithms Visualizer!
This project is a React-based web application that provides an interactive and visual representation of various algorithms, including Sorting Algorithms and Huffman Encoding.
It’s designed to help you understand the step-by-step process of these algorithms through dynamic animations.


🚀 Features

1. Sorting Algorithms

  • Bubble Sort 🌀
  • Quick Sort
  • Merge Sort 🔀
  • Selection Sort 🔢

Experience the process of sorting data in real-time with intuitive visualizations.

2. Huffman Encoding

  • Visualizes the construction of the Huffman Tree for character encoding 📜
  • Interactive step-by-step breakdown to understand how data compression works

3. Interactive Animations

  • Real-time animations show the evolution of algorithms and tree construction 🔄
  • Adjust animation speed to control how fast or slow the visualizations run 🕹️

4. Educational Tool

  • Understand the logic, efficiency, and complexity of different algorithms 📚

5. Responsive Design

  • The application is mobile-friendly and responsive across all devices 📱💻

🛠️ Getting Started

Follow the steps below to set up the project locally:

Prerequisites

  • Node.js (v14 or later) 🚀
  • npm or yarn 🧶

Installation

  1. Clone the repository:

    git clone <repository_url>
    cd algorithms-visualizer
  2. Install dependencies:

    npm install
    # or
    yarn install

Running the Application

  1. Start the development server:

    npm start
    # or
    yarn start
  2. Open the application in your browser:
    Visit http://localhost:3000 to view it live!


📦 Deployment

To deploy the application, you can use Vercel:

Vercel Deployment Steps

  1. Install the Vercel CLI globally:

    npm install -g vercel
  2. Build the project:

    npm run build
  3. Deploy using Vercel CLI:

    vercel

Follow the CLI prompts to complete the deployment.


📚 Learn More


🤖 Chatbot Feature — AlgoBot

This project includes a floating chatbot named AlgoBot 🤖.
It can assist you with:

  • Sorting algorithms 🧑‍🏫
  • Huffman encoding 📜
  • General project-related topics 💬

AlgoBot is powered by OpenAI's API and is accessible from any page of the application.


🧑‍🤝‍🧑 Contributing

We welcome contributions!
If you have suggestions, bug fixes, or new features, feel free to open an issue or submit a pull request.

Steps to contribute:

  1. Fork the repository 🔀
  2. Create a new branch 🌱
  3. Make your changes ✨
  4. Submit a pull request 🔄

📄 License

This project is licensed under the MIT License.
See the LICENSE file for more details.


💡 Acknowledgments

  • React for building dynamic interfaces ⚛️
  • D3.js for powerful data visualizations 📊
  • OpenAI's API for AlgoBot 🤖
  • Vercel for seamless deployment 🌍

Thank you for visiting Algorithms Visualizer! 🎉
Feel free to explore, contribute, and learn!

About

The Algorithm Visualizer is a web app showcasing sorting algorithms (Bubble, Insertion, Quick, Merge, etc.) with adjustable animations, and Huffman encoding through real-time tree construction and binary code generation—ideal for learning core algorithm concepts interactively.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published