A React application that demonstrates the steps taken by different pathfinding algorithms as they explore a grid. Users are able to experiment with different boundary patterns as well as weighted and unweighted algorithms and grids.
Description
Algorithms are an essential part of computer science and of landing a software engineering job. Too often when we are taught (or are teaching ourselves) algorithms we focus on the implementation in order to understand some of the more logical choices made. I think that this is backwards and we would all be best served if we focused on the logic and philosophy behind an algorithm before diving into the implementation. This project is meant to illustrate the 'choices' taken by different algorithms as they accomplish their goals. When we understand these choices it becomes much easier to understand how to implement these algorithms.
The Project
I built this project completely in JavaScript using React.JS, Next.JS, and TailwindCSS. This project allows the user to visualize the decisions made by a number of popular sorting and pathfinding algorithms. Hopefully by witnessing how these algorithms behave it becomes fieasier for you to make sense of their implementation.