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
- 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 :)
- Selection Sort
- Bubble Sort
- Merge Sort
- Cocktail Sort
- Heap Sort
- PigeonHole Sort
- Gnome Sort
- Shell Sort
- Odd-Even Sort
- Cycle Sort
- Python 3.9x (backwards compatible)
- VSCode for editing
- Python Libraries : -- Numpy -- Tkinter -- Custom Tkinter [https://github.com/TomSchimansky/CustomTkinter] -- Playsound && Winsound -- Image && ImageTK
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
- Clone the repo by using this command :
git clone https://github.com/Gurneet1928/sorting_algorithm_comparer.git
- Run the main.py from the folder and you should be good to go 👍
- Enter any kind of numerical data in the Text Box of Main Menu.
- Click on Submit Button
- Check the results of time taken by each algorithm on the bottom on the window
- Check the sorted array on the bottom of window
- Click on the MUTE BUTTON on the top right corner to mute the background music
- Click again to UNMUTE BUTTON the background music
- The button changes its face so as to display the current status.
- Support for more algorithms
- Better GUI designs and adaptability
- More information about algorithms
- More music control options
- Change GUI theme options
- 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
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 :)
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.
- 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( ̄▽ ̄)ブ