0% found this document useful (0 votes)
11 views

3 graph data structure

The document provides an introduction to graph data structures, defining graphs as collections of vertices and edges. It explains key concepts such as types of edges (undirected, directed, weighted), graph types (undirected, directed, mixed), and various terminologies like adjacent, incident, degree, and path. Additionally, it outlines three common representations of graphs: adjacency matrix, incidence matrix, and adjacency list.

Uploaded by

banmustafa66
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

3 graph data structure

The document provides an introduction to graph data structures, defining graphs as collections of vertices and edges. It explains key concepts such as types of edges (undirected, directed, weighted), graph types (undirected, directed, mixed), and various terminologies like adjacent, incident, degree, and path. Additionally, it outlines three common representations of graphs: adjacency matrix, incidence matrix, and adjacency list.

Uploaded by

banmustafa66
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Lecture 3-Introduction to Graph Data Structure

Graph is a nonlinear data structure; it contains a set of points known as


nodes (or vertices) and set of links known as edges (or Arcs) which
connects the vertices. A graph is defined as follows...
Graph is a collection of vertices and arcs which connects vertices in the
graph
Generally, a graph G is represented as G = ( V , E ), where V is set of vertices and E
is set of edges.
Example
The following is a graph with 5 vertices and 6 edges.
This graph G can be defined as G = ( V , E )
Where V = {A,B,C,D,E} and E = {(A,B),(A,C)(A,D),(B,D),(C,D),(B,E),(E,D)}.

We use the following terms in graph data structure...


Vertex:A individual data element of a graph is called as Vertex. Vertex is
also known as node. In above example graph, A, B, C, D & E are known
as vertices.
Edge:An edge is a connecting link between two vertices. Edge is also
known as Arc. An edge is represented as (startingVertex, endingVertex).
For example, in above graph, the link between vertices A and B is
represented as (A,B). In above example graph, there are 7 edges (i.e.,
(A,B), (A,C), (A,D), (B,D), (B,E), (C,D), (D,E)).

Edges are three types.


• Undirected Edge - An undirected egde is a bidirectional edge. If
there is a undirected edge between vertices A and B then edge (A
, B) is equal to edge (B , A).
• Directed Edge - A directed egde is a unidirectional edge. If there is
a directed edge between vertices A and B then edge (A , B) is not
equal to edge (B , A).
• Weighted Edge - A weighted egde is an edge with cost on it.
Undirected Graph:A graph with only undirected edges is said to be
undirected graph.
Directed Graph:A graph with only directed edges is said to be directed
graph.
Mixed Graph:A graph with undirected and directed edges is said to be
mixed graph.
End vertices or Endpoints:The two vertices joined by an edge are called
the end vertices (or endpoints) of the edge.
Origin:If an edge is directed, its first endpoint is said to be origin of it.
Destination:If an edge is directed, its first endpoint is said to be origin
of it and the other endpoint is said to be the destination of the edge.
Adjacent:If there is an edge between vertices A and B then both A and
B are said to be adjacent. In other words, Two vertices A and B are said
to be adjacent if there is an edge whose end vertices are A and B.
Incident:An edge is said to be incident on a vertex if the vertex is one of
the endpoints of that edge.
Outgoing Edge:A directed edge is said to be outgoing edge on its orign
vertex.
Incoming Edge:A directed edge is said to be incoming edge on its
destination vertex.
Degree:Total number of edges connected to a vertex is said to be
degree of that vertex.
Indegree:Total number of incoming edges connected to a vertex is said
to be indegree of that vertex.
Outdegree:Total number of outgoing edges connected to a vertex is
said to be outdegree of that vertex.
Parallel edges or Multiple edges
If there are two undirected edges to have the same end vertices, and
for two directed edges to have the same origin and the same
destination. Such edges are called parallel edges or multiple edges.
Self-loop:An edge (undirected or directed) is a self-loop if its two
endpoints coincide.
Simple Graph:A graph is said to be simple if there are no parallel and
self-loop edges.
Path:A path is a sequence of alternating vertices and edges that starts
at a vertex and ends at a vertex such that each edge is incident to its
predecessor and successor vertex.
Graph data structure is represented using following representations...
Adjacency Matrix
Incidence Matrix
Adjacency List

Adjacency Matrix
In this representation, graph can be represented using a matrix of size
total number of vertices by total number of vertices. That means if a
graph with 4 vertices can be represented using a matrix of 4X4 class. In
this matrix, rows and columns both represents vertices. This matrix is
filled with either 1 or 0. Here, 1 represents there is an edge from row
vertex to column vertex and 0 represents there is no edge from row
vertex to column vertex.

For example, consider the following undirected graph representation...


Directed graph representation...

Incidence Matrix
In this representation, graph can be represented using a matrix of size
total number of vertices by total number of edges. That means if a
graph with 4 vertices and 6 edges can be represented using a matrix of
4X6 class. In this matrix, rows represents vertices and columns
represents edges. This matrix is filled with either 0 or 1 or -1. Here, 0
represents row edge is not connected to column vertex, 1 represents
row edge is connected as outgoing edge to column vertex and -1
represents row edge is connected as incoming edge to column vertex.
For example, consider the following directed graph representation...

Adjacency List
In this representation, every vertex of graph contains list of its adjacent vertices.

For example, consider the following directed graph representation implemented using
linked list...

This representation can also be implemented using array as follows..

You might also like