<algorithm> A graph
A* is guaranteed to find a minimal solution path before any other solution paths, if a solution exists, in other words, it is an "admissible
" search algorithm.
Each path is assigned a value based on the cost of the path (e.g. its length) and an (under)estimate of the cost of completing the path, i.e. the cost of a path from the end of the current path to a solution.