A graph is a data structure that is defined by two components :

- A
**node**or a vertex. - An edge E or
**ordered pair is a connection between two nodes u,v**that is identified by unique pair(u,v). The pair (u,v) is ordered because (u,v) is not same as (v,u) in case of directed graph.The edge may have a weight or is set to one in case of unweighted graph.

Consider the given below graph,

To know about “Graph representation” click here

**Applications:**

Graph is a data structure which is used extensively in our real-life.

__Social Network:__Each user is represented as a node and all their activities,suggestion and friend list are represented as an edge between the nodes.__Google Maps:__Various locations are represented as vertices or nodes and the roads are represented as edges and graph theory is used to find shortest path between two nodes.__Recommendations on e-commerce websites:__The “Recommendations for you” section on various e-commerce websites uses graph theory to recommend items of similar type to user’s choice.- Graph theory is also used to
__study molecules in chemistry and physics.__

For more applications click here

*More on graphs:***Characteristics of graphs:**

__Adjacent node:__A node ‘v’ is said to be adjacent node of node ‘u’ if and only if there exists an edge between ‘u’ and ‘v’.__Degree of a node:__In an undirected graph the number of nodes incident on a node is the degree of the node.

In case of directed graph ,**Indegree**of the node is the**number of arriving edges**to a node.**Outdegree**of the node is the**number of departing edges to a node.**__Path:__A path of length ‘n’ from node ‘u’ to node ‘v’ is defined as**sequence of n+1 nodes.****P(u,v)=(v0,v1,v2,v3…….vn)**A path is simple if all the nodes are distinct,

**exception is source and destination are same.**__Isolated node:__A node with degree 0 is known as isolated node.Isolated node can be found by Breadth first search(BFS). It finds its application in**LAN network**in finding whether a**system is connected or not.**

**Types of graphs:**

__Directed graph:__

A graph in which the direction of the edge is defined to a particular node is a directed graph.__Directed Acyclic graph:__It is a directed graph with no cycle.For a vertex ‘v’ in DAG there is no directed edge starting and ending with vertex ‘v’.

a) Application :Critical game analysis,expression tree evaluation,game evaluation.__Tree:__A tree is just a restricted form of graph.That is, it is a**DAG with a restriction that a child can have only one parent.**

__Undirected graph:__

A graph in which the direction of the edge is not defined.So if an edge exists between node ‘u’ and ‘v’,then there is a path from node ‘u’ to ‘v’ and vice versa.__Connected graph:__A graph is connected when there is a**path between every pair of vertices.**In a connected graph there is no unreachable node.__Complete graph:__A graph in which each pair of graph vertices is connected by an edge.In other words,every node ‘u’ is adjacent to every other node ‘v’ in graph ‘G’.A complete graph would have**n(n-1)/2 edges.**See below for proof.__Biconnected graph:__A connected graph which cannot be broken down into any further pieces by deletion of any vertex.It is a graph with**no articulation point.**

Proof for complete graph:

- Consider a complete graph with n nodes. Each node is connected to other n-1 nodes. Thus it becomes n * (n-1) edges. But this counts each edge twice because this is a undirected graph so divide it by 2.
- Thus it becomes n(n-1)/2.

Consider the given graph,

//Omit the repetitive edges

Edges on node A = (A,B),(A,C),(A,E),(A,C).

Edges on node B = (B,C),(B,D),(B,E).

Edges on node C = (C,D),(C,E).

Edges on node D = (D,E).

Edges on node E = EMPTY.https://en.wikipedia.org/wiki/Graph_theory

Total edges = 4+3+2+1+0=10 edges.

Number of node = 5.

Thus n(n-1)/2=10 edges.

Thus proven.

Read next set – Graph Theory Basics

Attention reader! Don’t stop learning now. Learn all **GATE CS concepts with Free Live Classes** on our youtube channel.