Sorting Algorithm Visualization Tool
A Tkinter-based visualizer that animates classic sorting algorithms (Bubble, Insertion, Merge, Bucket) so their complexity differences become visible, not just theoretical.

Overview
Built as a learning tool for an algorithms course, this desktop app animates Bubble, Insertion, Merge, and Bucket sorts side-by-side on the same dataset. Each pass updates the canvas so the user can literally watch how Merge flattens a messy array in a few clean sweeps while Bubble grinds through it. Tkinter handles the UI; the sort implementations live in a separate module so the visualization and the algorithms can evolve independently.
Challenges
Tkinter's single-threaded event loop means naive tight sorts freeze the UI. Pacing each step with `after()` callbacks instead of blocking loops was the key to keeping animation smooth without abandoning Tkinter.
What I learned
Seeing O(n²) vs. O(n log n) play out on screen cemented the intuition far better than any textbook ever did. I also learned to keep algorithmic logic seperate from presentation — a small difference early on that paid off every time I added a new sort.