A* Algorithm

A heuristic search procedure that selects a node in its search tree for expansion such that the selected node has minimum value of the sum of the cost to reach the node plus a heuristic cost value for that node, where the heuristic cost underestimates the true minimum cost of completion.