** Directed Search**

Dijkstra's algorithm finds the shortest path to * all* nodes
of a graph from a given starting node. If the graph is large
and we only want a path to a single destination, this is inefficient.

We might have some * heuristic* information
that gives an estimate of how close a given node is to the goal.

Using the heuristic, we can search the more promising parts of the graph and ignore the rest.