New Project - Algorithm Visualizer

Similar to the Commander Keen project I worked on several years ago, I want to document the experience of working on my new project.

Goals of the project:

  • Practice using the Unity game engine
  • Practice my understanding of common algorithms that I haven’t touched since university
  • Share this understanding with others through visualization rather than code
  • Document the progression with this blog to hold myself accountable and to have something to look back on

I find that a lot of these algorithms are difficult to “see” in action, which makes them abstract and more difficult to understand at-a-glance. Wikipedia and other sites have some animations of these algorithms, but even there it’s difficult to understand unless you already have an idea of how it works. The hope with this project is that, by using a game engine, I’ll have more options for how to animate this.

The original idea for this project was limited to binary tree algorithms, but I decided to start simpler, with sorting algorithms. I started with bubble sort, and I’ve started work on quicksort, and will keep picking whatever algorithm next interests me, with the goal of implementing binary search tree algorithms as well as graph algorithms such as DFS and BFS.

Demo

To kick this off, I have a quick demo of my bubble sort animation. It doesn’t show the full sort because it’s fairly long, but it’s enough to get the idea where it’s headed. My next step is to finish animating quicksort and upload a video of that.