A graph G is composed of vertices V connected by edges E. It can be represented using an adjacency matrix or adjacency lists. Graph search algorithms like depth-first search (DFS) and breadth-first search (BFS) are used to traverse the graph and find paths between vertices. DFS recursively explores edges until reaching the end of a branch before backtracking, while BFS explores edges in levels starting from the starting vertex.