This document describes graph search algorithms like breadth-first search (BFS) and depth-first search (DFS). It provides details on how BFS works, including that it maintains distances from the source vertex and uses a queue to search levels outwards. BFS runs in O(V+E) time, visiting each vertex and edge once. It outputs the shortest path distances and predecessor graph. The document proves BFS is correct by showing the distances computed are less than or equal to the actual shortest path distances.