It all started with Leetcode #417 Pacific Atlantic Water Flow given to me during a phone screen quite some time back.

I thought I could just wing it without any prep and boy was I wrong and I flunked it hard. I knew the solution on a theoretical level but couldn’t figure out how to implement it.

As someone from a non-CS background (degree in mechanical engineering), I must admit that algorithms and data structures isn’t my strong suit. Sure, I know of their existence but never to the level where I am able to implement them effectively. I mean these are just some “low level implementation” that can be added with some third-party package if need be right?

After that horrible phone screen, I started looking at the various graph questions, dug into the theories and was really intrigued by it.

I eventually got better at graph questions but as a visual learner, I always wondered how exactly does the various path finding algorithms look like when visualized on a screen.

So I decided to build an application to visalize it.

usage-video

There’s some tweaks required to the A* implementation (adjusting heuristic value) and also the overall styling (going for the retro look here eh) but I will leave it as it for now.

Try it out yourself here.

Reference materials: