Depth-first search (DFS) is based on LIFO (last-in, first-out). A recursion is implemented with LIFO stack data structure. Thus, the nodes are in a different order than in BFS. The path is stored in each iteration from root to leaf nodes in a linear fashion with space requirement.