A graph is a data structure consisting of vertices and edges. Graphs are used to represent real-world networks like social networks and road maps. There are two main representations of graphs: adjacency matrix and adjacency list. Adjacency matrix uses a 2D array to store edge information while adjacency list uses an array of lists. Graph traversal algorithms like depth-first search and breadth-first search are used to search graphs in a systematic way without loops.