Visualizing sorting algorithms, using the matplotlib library.
Algorithms covered so far:
| Name | Function Name |
|---|---|
| Quick Sort | quick_sort |
| Bubble Sort | bubble_sort |
| Selection Sort | selection_sort |
| Insertion Sort | insertion_sort |
| Heap Sort | heap_sort |
| Merge Sort | merge_sort |
| Cocktail Sort | cocktail_sort |
| Cycle Sort | cycle_sort |
| Pigeonhole Sort | pigeonhole_sort |
| Comb Sort | comb_sort |
Install
pip install -r requirements.txt
Run
python main.py function_name
Pass function name as a command line argument from list of functions above (in all lower case and spaces replaced by underscore).
For example:
python main.py quick_sort
If you want to add a new sorting algorithm:
- Code the algorithm in
sorting.py. - Name the function appropriately, like
quick_sort,bubble_sort. - While coding the function, do not use python lists. Instead, use an
Arrayobject. TheArrayclass is defined insorting.py. (See already implemented algorithms, for your reference) - The
Arrayobject hasswap,set,get_len,getmethods implemented. Feel free to implement any more, additional methods, that you may see fit. - Make sure you add the sorting algorithm to the Readme file!
- Make sure your newly implemented algorithm works, by running
test.pyafter appending it to the list of algorithms intest.py.