Skip to content

A dynamic visualization tool for understanding sorting algorithms. This project combines a Next.js frontend with a Flask backend to provide interactive visualizations, enabling users to learn and experiment with various sorting techniques. Dive into the world of algorithms and enhance your programming skills!

License

Notifications You must be signed in to change notification settings

AashishKumarSingh1/Sortinger

Repository files navigation

Welcome to the Sortinger Application!

Overview

Sortinger is a web-based tool designed to help you visualize various sorting algorithms in action. The application features a Next.js frontend for an interactive user experience and a Flask backend to handle the algorithmic processing. With Sortinger, you can explore different sorting techniques, observe step-by-step sorting processes, and gain a deeper understanding of how sorting algorithms work.

Whether you're a student learning sorting algorithms, a developer brushing up on fundamentals, or simply curious about how data is organized efficiently, this tool makes it easy to see sorting in real time. Enjoy a hands-on approach to understanding Bubble Sort, Merge Sort, Quick Sort, Insertion Sort, and many more!

Features

  • Real-Time Sorting Visualization : Watch sorting algorithms step through each iteration, making it easier to understand how they work.

  • Multiple Sorting Algorithms :Supports various algorithms like Bubble Sort, Selection Sort, Merge Sort, Quick Sort, Insertion Sort, and more.

  • Bar Chart Visualization : Sorting is visually represented using animated bar charts, where bar heights represent element values, helping in better understanding.

  • Responsive & Interactive UI : Built with Next.js and Tailwind CSS, providing a smooth, modern, and mobile-friendly user experience.

  • Performance Comparison : Compare sorting algorithms based on their time complexity and execution time to determine efficiency.

  • Customizable Array Input : Users can generate random arrays or manually enter their own numbers to see how different inputs affect sorting.

  • Step-by-Step Execution Mode : Users can enable a step-by-step mode to manually progress through each sorting step, allowing for detailed analysis and better learning.

Installations & Setup

1.Clone the Repository:

If you're using Git, you can clone the repository to your local machine:

  • Frontend
git clone https://github.com/AashishKumarSingh1/Sortinger.git
  • Backend
git clone https://github.com/AashishKumarSingh1/Sortinger-Backend.git

2.Install Python (if not installed)

Ensure that Python 3.x is installed on your system. If not, you can download and install it from the official Python website.

3. Running the Application

  • Frontend
npm install

npm run build

npm run dev  
  • Backend
cd backend  

pip install -r requirements.txt  

python app.py  

Contribution

Feel free to fork the repository and create pull requests for any enhancements or bug fixes. Contributions are always welcome!

Thank You

About

A dynamic visualization tool for understanding sorting algorithms. This project combines a Next.js frontend with a Flask backend to provide interactive visualizations, enabling users to learn and experiment with various sorting techniques. Dive into the world of algorithms and enhance your programming skills!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published