A graph search algorithm which eXTends the current path as far as possible before backtracking to the last choice point and trying the neXT alternative path. Depth-first search may fail to find a solution if it enters a cycle in the graph. This can be avoided if we never eXTend a path to a node which it already contains. Opposite of breadth first search. See also {iterative deepening}. (1995-04-19)