Skip to content

tpstark137/AlgoViz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlgoViz: Interactive Sorting Algorithm Visualizer

Overview

AlgoViz is a Progressive Web App (PWA) developed with ReactJS to visualize various classic sorting algorithms. The tool provides real-time, interactive animations that help users better understand how these algorithms function across multiple platforms.

Features

  • Interactive animations: Users can see how sorting algorithms like Bubble Sort, Merge Sort, Quick Sort, and others work step by step.
  • Cross-platform compatibility: Being a PWA, AlgoViz works seamlessly on desktop and mobile platforms.
  • User control: Users can control the speed of animations, shuffle the data, and select different array sizes.
  • Educational tool: Designed to help users understand sorting algorithms in an intuitive, visual manner.

Tech Stack

  • ReactJS: For building the user interface and handling state.
  • CSS: For styling and responsive design.

Installation and Setup

Prerequisites

  • Node.js (v12+)
  • npm or yarn

Steps to Setup:

  1. Clone the repository:
    git clone https://github.com/tpstark137/AlgoViz.git
  2. Navigate to the project directory:
    cd AlgoViz
  3. Install dependencies:
    npm install
    or if using yarn:
    yarn install
  4. Run the development server:
    npm run dev
    or with yarn:
    yarn start
  5. Open your browser and navigate to http://localhost:3000 to view the application.

Usage

  • Select a sorting algorithm from the dropdown menu.
  • Adjust the array size and animation speed using the available controls.
  • Press "Sort" to begin the visualization and watch the algorithm work in real-time.
  • Use "Reset" to randomize the array again for a new sorting session.

Supported Sorting Algorithms

  • Bubble Sort
  • Heap Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Selection Sort

Future Enhancements

  • Adding more algorithms such as Radix Sort, Counting Sort, etc.
  • Improving the UI/UX with additional themes.
  • Introducing detailed explanations for each step in the algorithms.
  • Adding support for custom user input arrays.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please submit a pull request or open an issue if you have suggestions or want to help improve the project.

Contact

For any queries or issues, reach out at: