A* Search Algorithm

A* search algorithm is a heuristic search which works on path planning and graph traversal (weighted).
It is an extension of Dijkstra algorithm. The formula of Dijkstra is $f(n)=g(n)$, and the formula of A* is $f(n)=g(n) + h(n)$, where $g(n)$ is the cost from start to current node and $h(n)$ is the estimated cost from source node to target node. Manhattan distance or Euclidean distance is usually used to estimate. A* algorithm is better than Dijkstra when $h(n)$ is admissible (never overstimates). The time complexity is $O(|E|log|V|)$ and space complexity is $O(|v|)$. The worst case is same with Dijkstra.

Pseudocode

----- End Thanks for reading-----