Fascinated with DS and various sorting algorithms?!!
Well, welcome to the Sorting Visualizer! This application was created out of my fascination with sorting algorithms and the desire to provide a dynamic visualization of their functionality. I hope you find as much enjoyment in exploring and interacting with this visualization tool as I did when developing it. To experience it firsthand, please access the Sorting Visualizer here (we recommend using Google Chrome for the best experience):
This web application provides a visual representation of various sorting algorithms, allowing users to observe how different algorithms work and understand their sorting efficiency. The following sorting algorithms are visualized in this application:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Quick Sort
- Merge Sort
Each algorithm is implemented as an asynchronous function that takes an array of DOM element objects as a parameter and sorts these elements in-place, in ascending order. The visualization is achieved using custom-documented APIs for rendering and color-coding, making it easier to follow the sorting process step by step.
To get started with the Sorting Visualizer, simply visit the web page hosted on Firebase.
You don't need to install anything to use the Sorting Visualizer. Ensure you have a modern web browser to access the application.
- Visualize sorting algorithms in real-time.
- Understand how different sorting algorithms work.
- Customize the array size and sorting speed.
- Clear visualization of comparisons and swaps.
- Visit the Sorting Visualizer website.
- Choose a sorting algorithm from the dropdown menu.
- Adjust the array size and sorting speed using the sliders if desired.
- Click the "Generate New Array" button to create a new array of elements.
- Click the "Sort" button to start the visualization.
- Watch the sorting algorithm in action, with color-coded animations.
To contribute to this project, follow these steps:
- Clone this repository to your local machine:
git clone https://github.com/Omegaconstant/sorting-visualizer.git
-
Open the project directory in your code editor.
-
Make your changes or improvements to the codebase.
-
Test your changes locally by opening
index.html
in a web browser. -
If you're satisfied with your changes, create a pull request to propose your changes for review.
index.html
: The main HTML file that contains the structure of the web application.style.css
: The CSS file that styles the application.scripts/
: This folder contains JavaScript files for each sorting algorithm.scripts/sort-utils.js
: Utility functions used by sorting algorithms.firebase.json
: Configuration file for Firebase deployment.README.md
: The README file you are currently reading.
This project is deployed using Firebase Hosting. You can deploy your own version by following the Firebase Hosting documentation.
Special thanks to Firebase for providing hosting services for this project.
Feel free to contribute to this project, report issues, or suggest improvements. Happy sorting! 🚀