Visiting a graph by going as deep as possible along one path before backing up, using recursion or a stack.