Dijkstra's Algorithm is weighted and guarantees the shortest path.
Breadth-First Search is unweighted and guarantees the shortest path.
Depth-First Search is unweighted and does not guarantee the shortest path.
Depth-First Search (Shortest Path) is unweighted and will find the shortest path by exploring all possible paths. This algorithm can run extremely long if the grid is large.
A* Search is weighted and guarantees the shortest path as long as the heuristic does not over estimate the true cost to the end node. This is why Manhattan Distance cannot be used as a heuristic when diagonal moves are enabled.
Greedy Best-First Search is unweighted and does not guarantee the shortest path.
Bidirectional Search uses Breadth-First Search and thus is unweighted and guarantees the shortest path.
Complete!
Path Cost =