It’s a variation of Best First search where the evaluation of a state or a node not only depends on the heuristic value of the node but also considers its distance from the start state.
It’s the most widely known form of best-first search.
In A* search, the value of a node n, represented as f(n) is a combination of g(n), which is the cost of heuristic estimation to reach to the node from the root node, and h(n), which is the cost of cheapest path to reach from the node to the goal node.
Hence f(n) = g(n) + h(n)
Advantages:
A* search algorithm is the best algorithm than other search algorithms.
A* search algorithm is optimal and complete.
This algorithm can solve very complex problems.
Disadvantages:
It does not always produce the shortest path as it mostly based on heuristics and approximation.
The main drawback of A* is memory requirement as it keeps all generated nodes in the memory, so it is not practical for various large-scale problems.