An open API service indexing awesome lists of open source software.

https://github.com/reshmaharidhas/sorting-visualizer

GUI for visualizing sorting algorithms
https://github.com/reshmaharidhas/sorting-visualizer

algorithms bubble-sort desktop-application dutch-flag dutch-nationalflag-problem gnome-sort gui insertion-sort odd-even-sort pygame-mixer python3 selection-sort shaker-sort sort-visualizer sorting-algorithms sorting-visualization sorting-visualizer tkinter tkinter-gui visualization

Last synced: 3 months ago
JSON representation

GUI for visualizing sorting algorithms

Awesome Lists containing this project

README

        

# Sorting-Visualizer












A GUI sorting visualizer desktop application built using Tkinter.

## Programming Language💻
- Python 3

## Tech Stack💻
- Tkinter (GUI)
- Pygame (audio)

## Sorting Algorithms
The visualizer currently supports all these sorting algorithms,
- Bubble sort
- Insertion sort
- Selection sort
- Gnome sort
- Shaker sort
- Odd even sort
- Dutch national flag algorithm (DNF sort)

## Features ✨
- Sorts list of random numbers by six sorting algorithms.
- Visualizes the sorting processes using bar graphs.
- Speed up or reduce animation speed to view the sorting process.
- Generate new array of random number containing random numbers between custom minimum and custom maximum value anywhere between 10 to 600.
- Shuffle the numbers, thereby shuffling the bars in visualizer.
- Customize bar color in visualizer to any color.
- Customize background color in visualizer to any color.
- Calculates and displays the total seconds to complete every sorting process.
- Sound to enhance the visualizer experience with its speed.

# Algorithms demo:
## Bubble sort
![Bubble-Sort-1](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/b9a2c8da-efe4-4e19-82b9-9ff606011dd7)
## Insertion sort
![Insertion-Sort-1-002Speed](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/ed51a051-9e40-4e2d-b553-906ea2f795e4)
## Selection sort
![Selection-Sort-1-002Speed](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/56d1f3f6-6608-4762-a69a-9443cdc59bb8)
## Gnome sort
![Gnome-Sort-1-002Speed](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/b2a621e1-4888-482f-84ee-744abc8c84bc)
## Shaker sort
![Shaker-Sort-1-002Speed](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/60c2aee4-6fa7-45d9-86c6-636db861f5a9)
## Odd even sort
![Odd-Even-Sort-1-002Speed](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/85335543-5928-4434-a17f-c8d192d85b66)

## Screenshots
GUI
![shuffled_unsorted_bars](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/f05c5cc9-00db-4a3f-a254-b2bcd25e8185)
Sorted bars
![sorted](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/fd61cb55-8ebc-43b1-8763-292581bed320)
Customized bar and background color
![custom bar and background color unsorted](https://github.com/reshmaharidhas/Sorting-Visualizer/assets/37250413/a8236f3a-05c3-4f8c-b317-586cd767a328)

## Development Tools💻
- Pycharm
- PyInstaller

## License
MIT License