Introduction –> A Graph is an abstract data structure that is used to implement the mathematical concept of Graphs. It is basically a collection of vertices/nodes and edges(that connects the vertices). A graph is said to be a generalized form of tree data structure, instead of having a parent-child relationship here any kind of complex relationship can exist.

Definition –> A graph G is defined as an ordered set of (V, E) where V(G) represents the set of vertices/nodes and E(G) represents the set of edges.

A graph can be directed and undirected it means in a graph between two vertices there will be a defined and undefined path.

Some Basic Key Terminology of Graph –>

Adjacent nodes or neighbors –> For every edge e=(u , v) that connects the nodes u and v the nodes u and v are the endpoints and are said to be adjacent or neighbors.

Degree of a node –> Degree of a node u deg(u) is the total number of edges containing the node u.

Out-degree of a node –> Out-degree of a node u written as outdeg(u) is the number of edges that originate at u, it means a number of edges that go away from the node.

In-degree of a node –> In-degree of a node u written as indeg(u) is the number of edges that terminate at u, it means the number of edges that come in at the node.

Isolated vertex –> A vertex with degree zero.

Pendant vertex –> A vertex with degree one, is also called leaf vertex.

Cut vertex –> A vertex which when deleted would disconnect the remaining graph.

Source –> A vertex is said to source if it has a positive out-degree but a zero in-degree.

Sink –> A vertex is said to sink if it has a positive in-degree but a zero out-degree.

Reachability –> A node v is said to be reachable from node u if and only if there exists a defined directed path from node u to node v.

Representation of graph –> Representation of a graph means how to represent a graph in the computer memory, there are mainly three ways to represent the graph –

Sequential representation using an adjacency matrix.

Linked representation using an adjacency list that uses a linked list to store the neighbors.

Multi list representation it is an extension of the linked representation.

Note –> In our next post we will discuss the graph representation part, so those who are interested please regularly visit here.

Nice one