This application was deployed on Github Pages. See the result here.
This project was created to learn how to use Redux, Redux Toolkit and React-Redux. Therefore performance of this application is not priority. I'm aware of disadvantages of using React in this kind of application (lots of DOM re-renders). If you find yourself in need to increase speed and performance of this app, you can replace React <Nodes> component with canvas implementation.
Used algorithms:
- Dijkstra's algorithm (weight of all nodes are equal to 1)
- A* algorithm
- Greedy algorithm (priorities nodes closest to the end node, doesn't use distance from start in calculations)
By selecting suitable button from the toolbar you can change node to one of the following type:
- To start visualization of pathfinding click 'Start' button underneath the grid.
- To reset nodes setting use 'Reset' button.
- 'Clear' button leaves walls, start node and end node untouched but clears all visited () and result () nodes.
- Button in bottom left corner allows to toggle between full screen and normal mode.