The project is called Algorithms Visualizer, aptly because it pretty much does what it says, it finds a path from a source to a destination. This project is based on graph theory.
Access the site a Google Chrome: https://yuvrajverma01.github.io/Algorithms-Visualizer/#
- Dijkstra's Algorithm (Weighted)
- A* Search (Weighted)
- Greedy (Weighted)
- Breath First Search (Unweighted)
- Depth First Search (Unweighted)
Pathfinding algorithms are usually an attempt to solve the shortest path problem in graph theory. They try to find the best path given a starting point and ending point based on some predefined criteria.
Path finding algorithms are important because they are used in applications like google maps, satellite navigation systems, routing packets over the internet. The usage of pathfinding algorithms isn’t just limited to navigation systems. The overarching idea can be applied to other applications as well. The usage will become clearer as we talk about some examples and implementations of pathfinding algorithms.
If edges in your graph have weights then your graph is said to be a weighted graph, if the edges do not have weights, the graph is said to be unweighted. A weight is a numerical value attached to each individual edge. In a weighted graph relationships between nodes have a magnitude and this magnitude is important to the relationship we’re studying.
This section lists all the technologies that I used to built this project.
- Clone the repo
$ git clone https://github.com/yuvrajverma01/Algorithms-Visualizer.git
- Install NPM packages
$ npm i
- Start the server
$ npm start server.js
The file structure of the current project is structured as shown below:
my-app
├── public
| ├── browser
| | ├── animations
| | ├── mazeAlgorithms
| | ├── pathfindingAlgorithms
| | ├── board.js
| | ├── bundle.js
| | ├── getDistance.js
| | ├── node.js
| └── styling
├── index.html
└── server.js
Made with ❤ by Yuvraj Verma.