This document discusses depth-first search (DFS), a graph traversal algorithm that visits vertices in an order where all neighbors of a vertex are explored before moving to the next vertex. It describes the basic DFS algorithm, properties of DFS like producing a spanning tree, and applications of DFS like solving maze problems and finding paths/cycles in graphs.