A graph is a non-linear data structure that consists of a set of vertices or nodes and a set of edges connecting these vertices.

Graphs can be used to represent many types of relationships, including social networks, web graphs, etc.

There are two main types of graphs:
1.directed
2.undirected.

In a directed graph, the edges have a direction and connect one vertex to another.

In an undirected graph, the edges have no direction and connect two vertices symmetrically

Graphs can also be classified as Weighted or unweighted based on the presence or absence of weights on the edges and the presence or absence of cycles.

Graphs with cycles are called cyclic graphs, while graphs without cycles are called acyclic graphs.

Some common operations on graphs include searching for specific vertices or edges, finding the shortest path between two vertices, etc.