A graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense “related”. The objects of the graph correspond to **vertices** and the relations between them correspond to **edges**. A graph is depicted diagrammatically as a set of dots depicting vertices connected by lines or curves depicting edges.

Formally,

“A graph consists of , a non-empty set of **vertices** (or nodes) and , a set of **edges**. Each edge has either one or two vertices associated with it, called its **endpoints**.”

**Types of graph :**There are several types of graphs distinguished on the basis of edges, their direction, their weight etc.

**1. Simple graph –** A graph in which each edge connects two **different** vertices and where no two edges connect the same pair of vertices is called a simple graph. For example, Consider the following graph –

The above graph is a simple graph, since no vertex has a self-loop and no two vertices have more than one edge connecting them.

The edges are denoted by the vertices that they connect- is the edge connecting vertices and .

**2. Multigraph –** A graph in which multiple edges may connect the same pair of vertices is called a multigraph.

Since there can be multiple edges between the same pair of vertices, the **multiplicity** of edge tells the number of edges between two vertices.

The above graph is a multigraph since there are multiple edges between and . The multiplicity of the edge is 2.

In some graphs, unlike the one’s shown above, the edges are **directed**. This means that the relation between the objects is one-way only and not two-way. The direction of the edges may be important in some applications. For example, consider a graph of cities, where two cities are connected if there is a flight that goes from one city to another. The direction of the flight matters here. Below is an example of such a situation-

Based on whether the edges are directed or not we can have **directed graphs** and **undirected graphs**. This property can be extended to simple graphs and multigraphs to get simple directed or undirected simple graphs and directed or undirected multigraphs.

**Basic graph Terminology :**

In the above discussion some terms regarding graphs have already been explained such as vertices, edges, directed and undirected edges etc. There are more terms which describe properties of vertices and edges.

**Adjacency –**In a graph two vertices and are said to be**adjacent**if they are the endpoints of an edge. The edge is said to be incident with the vertices.

In case the edge is directed, is said to be adjacent to and is said to be adjacent from . Here, is said to be the**intitial vertex**and is said to the**terminal vertex**.**Degree –**The degree of a vertex is the number of edges incident with it, except the self-loop which contributes twice to the degree of the vertex. Degree of a vertex is denoted as .

In case of directed graphs, the degree is further classified as**in-degree**and**out-degree**. The in-degree of a vertex is the number of edges with the given vertex as the terminal vertex. The out-degree of a vertex is the number of edges with the given vertex as the initial vertex. In-degree is denoted as and out-degree is denoted as .

For example in the directed graph shown above depicting flights between cities, the in-degree of the vertex “Delhi” is 3 and its out-degree is also 3.

**Note:** If a vertex has zero degree, it is called **isolated**. If the degree is one then it’s called **pendant**.

**Handshaking Theorem :**

What would one get if the degrees of all the vertices of a graph are added. In case of an undirected graph, each edge contributes twice, once for its initial vertex and second for its terminal vertex. So the sum of degrees is equal to twice the number of edges. This fact is stated in the Handshaking Theorem.

Let be an undirected graph with edges. Then In case G is a directed graph,

The handshaking theorem, for undirected graphs, has an interesting result –

An undirected graph has an even number of vertices of odd degree.

**Proof :** Let and be the sets of vertices of even and odd degrees respectively.

We know by the handshaking theorem that,

So,

The sum of degrees of vertices with even degrees is even. The LHS is also even, which means that the sum of degrees of vertices with odd degrees must be even.

Thus, the number of vertices with odd degree is even.

**Some special Simple Graphs :**

**1. Complete Graphs –** A simple graph of vertices having exactly one edge between each pair of vertices is called a complete graph. A complete graph of vertices is denoted by . Total number of edges are n*(n-1)/2 with n vertices in complete graph.

**2. Cycles –** Cycles are simple graphs with vertices and edges . Cycle with vertices is denoted as . Total number of edges are n with n vertices in cycle graph.

**3. Wheels –** A wheel is just like a cycle, with one additional vertex which is connected to every other vertex. Wheels of vertices with 1 addition vertex are denoted by . Total number of edges are 2*(n-1) with n vertices in wheel graph.

**4. Hypercube –** The Hypercube or n-cube is a graph with vertices each represented by a n-bit string. The vertices which differ by at most 1-bit are connected by edges. A hypercube of vertices is denoted by . Total number of edges are n* with vertices in cube graph.

**5. Bipartite Graphs –** A simple graph is said to be bipartite if its vertex set can be divided into two disjoint sets such that every edge in has its initial vertex in the first set and the terminal vertex in the second set. Total number of edges are (n*m) with (n+m) vertices in bipartite graph.

**Theorem –** A simple graph is bipartite if and only if it is possible to assign one of two

different colors to each vertex of the graph so that no two adjacent are assigned the

same color.

A bipartite graph with and vertices in its two disjoint subsets is said to be complete if there is an edge from every vertex in the first set to every vertex in the second set, for a total of edges. A **complete bipartite graph** with vertices in the first set and vertices in the second set is denoted as .

**GATE CS Corner Questions**

Practicing the following questions will help you test your knowledge. All questions have been asked in GATE in previous years or in GATE Mock Tests. It is highly recommended that you practice them.

1. GATE CS 2013, Question 25

2. GATE CS 2014 Set-1, Question 61

3. GATE CS 2006, Question 71

4. GATE CS 2002, Question 25

5. GATE CS 2004, Question 37

6. GATE CS 2014 Set-2, Question 13

**References-**

Graphs – Wikipedia

Discrete Mathematics and its Applications, by Kenneth H Rosen

This article is contributed by **Chirag Manwani**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.