1. The document discusses depth-first search (DFS), including its recursive implementation which eliminates the need for an explicit stack. 2. DFS classifies the edges of a graph as tree edges, back edges, forward edges, or cross edges. Tree edges and back edges are the only possible edge types in an undirected graph searched with DFS. 3. Applications of DFS include finding cycles, articulation vertices, topological sorting of directed acyclic graphs, and finding strongly connected components.