I built this application because when I was studying Dijkstra and A* Search algorithms I liked how it worked and wanted to visualize them. So i put up my React and looking up at Google(:p) skills together to build up this Pathfinding visualizer.
Heroku Link: https://desolate-everglades-02998.herokuapp.com/
Weighted
Dijkstra: the father of pathfinding algorithms; guarantees the shortest path.
A* Search: uses heuristics to guarantee the shortest path much faster than Dijkstra's Algorithm.
Greedy Best First Search: a faster, more heuristic-heavy version of A*; does not guarantee the shortest path.
Unweighted
Breadth First Search: similar to dijkstra but works only for unweighted graphs; guarantees the shortest path
Depth First Search: a really bad algorithm for pathfinding, does not guarantee the shortest path
Wall: have a distance of Infinity
Weighted Nodes: have a distance of 15 units
The start node is arrow, finish node is circle, walls are dark blue and weighted nodes are represented using locks.
All other nodes are free nodes with default distance 1.
To change positions of nodes:
- Start: click and drag on the start node to change its position
- Finish: click and drag on the finish node to change its position
To create obstacles:
- Wall: Select option Wall from DropDown List and drag over the grid to create walls
- Weighted Nodes: Select option Weighted Node from DropDown List and drag over the grid to create weighted nodes
To delete obstacles:
- same as creation
-
Clone the repository
git clone https://github.com/Deep512/PathFinding-Visualizer
-
Install npm
sudo apt install npm
-
Install the required dependencies
npm install
-
Start the react-scripts
npm start
a project by Deep Dhanuka