This document discusses depth-first search (DFS), a graph search algorithm that explores edges deeper whenever possible. It uses a LIFO queue and colors vertices as white, gray, or black to track the search process. DFS recursively visits unexplored neighbor vertices, coloring them gray before exploring their edges. The running time is O(V+E) as DFS calls itself once per vertex and explores each edge once.