Best-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.

See also

External links