Best-first searchBest-first search
is a search algorithm
which optimises breadth first search
by ordering all current paths according to some heuristic. The heuristic attempts to predict how close the end of a path is to a solution. Paths which are judged to be closer to a solution are extended first.
Efficient selection of the current best candidate for extension is typically implemented using a priority queue.
Examples of best-first search algorithms include Dijkstra's algorithm and the A-star search algorithm. Best-first algorithms are often used for pathfinding in combinatorial search.