
Dijkstra's Algorithm: One of the most popular pathfinding algorithms. It considers weights of each visited node and guarantees the shortest path.
A* Pathfinding Algorithm: This is the best pathfinding algorithm that utilizes the cost of the path so far g(n){" "} and the estimate from the heuristic function h(n). It considers weights of each visited node and dguarantees the shortest path.
Greedy Best First Search: This algorithm utilizes a heuristic function h(n) to determine the next node to explore. It considers thee weights of each visited node but it does not guarantee an optimal solution.
Breadth First Search: This algorithm searches all of the nodes in the same depth before proceeding to the next depth level. This algorithm does NOT consider the weights of nodes, but will guarantee the shortest path.
Bidirectional Breadth First Search: This algorithm is essentially the same as breadth first search. However, instead of beginning the search at the start node, it begins the search at both the start and finish nodes.
Depth First Search: This algorithm is one of the worst pathfinding algorithms. It attempts to visit the "deepest" nodes first and backtracks once no other nodes can be visited. This algorithm does NOT consider the weights of the nodes and it does NOT guarantee the shortest path.
Manhattan Distance: Uses the formula, d = |x1 - x2| + |y1 - y2| to give an estimate cost.
Euclidean Distance Uses the formula, d = √ (x1 - x2)2 + (y 1 - y2)2 to give an estimate cost.
The source code for this visualizer can be found on my github.