This document defines graphs and discusses various graph representations and operations. It defines graphs as consisting of vertices and edges. Common graph representations include adjacency matrices and adjacency lists. Adjacency matrices store connectivity information in a 2D array while adjacency lists use linked data structures. The document discusses traversing graphs using depth-first and breadth-first search and finding connected components and spanning trees.