Skip to content

A simple, python GUI based program, to compare some of the highly common sorting algorithms, on how much time they take to sort a given data. Includes Music as well as boot screen :)

License

Notifications You must be signed in to change notification settings

Gurneet1928/sorting_algorithm_comparer

Repository files navigation

Sorting Algorithm Comparer


Lets compare some sorting algorithms, shall we ?

N|Solid

A simple, python GUI based program, to compare some of the highly common sorting algorithms, on how much time they take to sort a given data


Features :

  • GUI Based
  • Shows results with time taken by algorithms as well as sorted array result
  • Includes a classic boot screen (surprise)
  • A LoFi background music to chill while analysing
  • 10 Sorting algorithms included
  • Scrollbars, button as well as nice table to for comparison
  • Exit Button :)
  • Seperate Modules for sorting algos as well as booting screen. You can use it anywhere if needed.
  • An unsed file - "loading_screen_with_cars.py" - which makes a loading up animation type with only keyboard characters.
  • A small About-Me kind of page for small informatiion. Do read to know more and support :)

Screenshots and Samples :


Algorithms Included :

  • Selection Sort
  • Bubble Sort
  • Merge Sort
  • Cocktail Sort
  • Heap Sort
  • PigeonHole Sort
  • Gnome Sort
  • Shell Sort
  • Odd-Even Sort
  • Cycle Sort

Libraries and Softwares Used :


Getting Started

Prerequisites

Here is how to install some of the important things before running the code

  • Numpy
python3 -m pip install numpy
  • Tkinter
python3 -m pip install tkinter
  • Custom Tkinter
python3 -m pip install customtkinter
  • Playsound
python3 -m pip install playsound

Installtion

  1. Clone the repo by using this command :
git clone https://github.com/Gurneet1928/sorting_algorithm_comparer.git
  1. Run the main.py from the folder and you should be good to go 👍

Usage

For Data :

  1. Enter any kind of numerical data in the Text Box of Main Menu.
  2. Click on Submit Button
  3. Check the results of time taken by each algorithm on the bottom on the window
  4. Check the sorted array on the bottom of window

For Music :

  1. Click on the MUTE BUTTON on the top right corner to mute the background music
  2. Click again to UNMUTE BUTTON the background music
  3. The button changes its face so as to display the current status.

Possible future Updates/Improvements/Ideas/Etc. :

  1. Support for more algorithms
  2. Better GUI designs and adaptability
  3. More information about algorithms
  4. More music control options
  5. Change GUI theme options
  6. Option to add user-defined algorithms for comparison purpose Maybe some more that I can't define here, although these are only currently in thought process and no clear roadmap to implement them

Contributing :

Have some good ideas ? Have the knowledge to contribue to this project ? Or maybe you found a bug, glitch ? Or maybe you can help to clean this code ? Or maybe anything you want to share ? Create an Issue request or Pull Request and we can carry the talk over there !! I am always open to suggestions :)


License :

Distributed under the License of MIT, which provides permission to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software. Check LICENSE file for more info.


Acknowledgements :

  • Custom Tkinter - A GUI based library, based on Tkinter which modifies the whole GUI into a modern design. Currently under active development.
  • Dillinger - A great browser based Markdown Editor. This readme was made using Dillinger
  • Geeks for geeks - A great website if you are a programmer. Tonnes of good courses and helpful articles. The algorithms in this software were learnt through this website.

Made till here ? I would like to thank you for reading this whole(possibly) README to reach this endpoint. If you found this software helpful in any case, make sure to star it.

o( ̄▽ ̄)ブ

About

A simple, python GUI based program, to compare some of the highly common sorting algorithms, on how much time they take to sort a given data. Includes Music as well as boot screen :)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages