Inspired from my university course in Data Structures & Algorithms. I began brainstorming and implementing sorting algorithms utilized for class activities in order to better understand them. Interactive exploration of the algorithms along with analysis in the text deepens student understanding. The implementation is in Python using its interface Tk (tkinter) + pygame to animate the operations.
Beginning with sorting algorithms we learned first in-class which is inclusive of:
Selection Sort ( Worst Case: O(n^2), Best: Ω(n^2) )
Insertion Sort ( O(n^2), Ω(n) )
Quick Sort ( O(n^2), Ω(n log(n)) )
Merge Sort ( O(n log(n), Ω(n log(n)) )
and more to come.
Visualization tool created using Python to complement the sorting algorithmic construction file: See current work in progress above
Included comments for each sorting algorithm in "sortingalgorithm.py" noting the time complexity and description of each
python sortingvisualizationtool.py ____