December-software-project/sort-algo

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![CircleCI](https://circleci.com/gh/December-software-project/sort-algo/tree/main.svg?style=shield)](https://circleci.com/gh/December-software-project/sort-algo/tree/main)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Netlify Status](https://api.netlify.com/api/v1/badges/2364c0d1-0366-4601-8ce0-1ac2084a5020/deploy-status)](https://app.netlify.com/sites/algosort/deploys)
[![Maintainability Status](https://api.codeclimate.com/v1/badges/b7464f445c1a7f5de797/maintainability)](https://codeclimate.com/github/December-software-project/sort-algo/maintainability)

# Sort-Algo

Welcome to Sort-Algo, a sorting visualiser app which helps you to learn and understand sorting algorithms through
interacting animations as well as explanations. <br />
<br />
We built this app as we feel there is a lack of visual representation when students learn sorting algorithms.
Hence, we would like to provide future students who are learning these sorting algorithms a platform to visualize such
algorithms with step by step explanations. We hope that you enjoy learning and playing around with this visualization
tool. Check out our app [here!](https://algosort.netlify.app/)

## Features preview

<p align="center"><strong>Bubble Sort preview</strong></p>

<img src="images/BubbleSort.gif" alt="" />

<br/>

<p align="center"><strong>Counting Sort preview</strong></p>

<img src="images/CountingSort.gif" alt="" />

<br/>

<p align="center"><strong>Bucket Sort preview</strong></p>

<img src="images/bucketsort.gif" alt="" />

<br/>

<br/>

### Choose the algorithm you want

There are a wide range of algorithms, each with their complexity evaluations and code in `Java`
, `JavaScript`, `Python` and `C/C++`.

Available algorithms:

* Bubble Sort
* Insertion Sort
* Selection Sort
* Merge Sort
* Quick Sort
* Heap Sort
* Shell Sort
* Counting Sort
* Radix Sort
* Bucket Sort

### Adjust the speed of the visualizer and array size

There are sliders to adjust the size and speed of the visualizer. The speed ranges from 1-10 and size ranges from 5-25
or 1-10 depending on the algorithm selected.

### Start the animation

There is a play button which starts the animation. Additionally, at any point in time, you can also pause the animation. Once
the animation is completed, the play button will be replaced with a replay button.

### Step tracing

There is a step tracing feature provided whereby pressing the arrow buttons will allow you to execute the animation step
by step to fully understand how the algorithm works through visual animation and a description of what is happening at
each step.

## Project structure

The current project structure and its important directories are shown below:

```
SortAlgo
└─public/
└─src/
  └─__test__/
  └─app/
  └─component/
  └─contactus/
  └─home/
  └─howitworks/
  └─team/
  └─visualizer/
  └─index
```

## Collaboration

If you like this project, and wish to contribute more to it, do contact us through the form in the
 `Contact Us` section from the [website](https://algosort.netlify.app/).