AlgoVisualizer
Visualizing Algorithms
CONTRIBUTORS
SKILLS
Python, Data Structures and Algorithm, Object Oriented Programming
PUBLISHED
16, October 2023
IMPORTANT LINKS
After graduating from Electrical and Electronics Engineering with very little software background, I decided to enhance my knowledge of Data Structures and Algorithms. Fortunately, I came across "Grokking Algorithms."
To practice and solidify my understanding of algorithms and Big O notation, I embarked on building an algorithm visualizer.
Tools Used:
- Python
- Object-Oriented Programming (OOP)
- Tkinter
System Diagram:
The system comprises two files: views.py
and sorts.py
.
sorts.py:
This file manages the implemented algorithms. Each algorithm is encapsulated as a method within a class. When instantiating the class, the input is the list to be sorted.
views.py
:
This serves as the interactive interface, allowing users to input their unsorted list, select an algorithm, and observe the sorting process. It is constructed using Tkinter and the matplotlib library.
Preview
![Algorithm Visualiser](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fwnde8pd5%2Fproduction%2Fb32a085bfbbd5d657cf10abc3c6d4ba5ddfbc7d1-600x591.gif&w=3840&q=75)
Algorithm Visualiser
Recommendations
Grokking Algorithms is one of the best and most intuitive books for beginners to quickly get their hands dirty on algorithms.
However, the algorithms I could easily implement are sorting algorithms because of the static nature of the problem, and because of that, here are a few recommendations to consider: