Professional Documents
Culture Documents
Graph Representation BFS DFS PDF
Graph Representation BFS DFS PDF
POORNIMA.S, IT/SSN
III Sem ECE-B/2014-15
Consider a situation:
You have to visit a set of cities and return back to the
original city in the end.
For this, you need to:
Find the shortest or least expensive path that starts from the
original city, visits each of the desired cities, and then
returns back to the original city.
How will you solve this problem?
2
III Sem ECE-B/2014-15
3
III Sem ECE-B/2014-15
Defining Graph
• Graph G=(V,E)
• Vertex set V
4
III Sem ECE-B/2014-15
• •
if edges ordered pairs (u,v)
u v
Undirected graph
• •
if edges unordered pairs {u,v}
u v
A graph in which any node in a graph is adjacent to all the other
nodes in a graph is called a Complete graph.
5
III Sem ECE-B/2014-15
6
III Sem ECE-B/2014-15
7
III Sem ECE-B/2014-15
8
III Sem ECE-B/2014-15
9
III Sem ECE-B/2014-15
e1 e2 ek
Vo V1 V2 Vk-1 Vk
10
III Sem ECE-B/2014-15
11
III Sem ECE-B/2014-15
12
III Sem ECE-B/2014-15
13
III Sem ECE-B/2014-15
14
III Sem ECE-B/2014-15
15
III Sem ECE-B/2014-15
Representing a Graph
16
III Sem ECE-B/2014-15
Adjacency Matrix
Consider the following Adjacency Matrix Representation
graph:
v1 v2 v3 v4
v1 0 1 0 0
v2 0 0 1 0
v3 0 0 0 0
v4 1 0 1 0
17
III Sem ECE-B/2014-15
Adjacency List
a b a b d c
b c
c d c d
d 18
III Sem ECE-B/2014-15
19
III Sem ECE-B/2014-15
Traversing a Graph
20
III Sem ECE-B/2014-15
DFS
Algorithm: DFS(v)
1. Push the starting vertex, v into the stack.
2. Repeat until the stack becomes empty:
a. Pop a vertex from the stack.
b. Visit the popped vertex.
c. Push all the unvisited vertices adjacent to the popped vertex
into the stack.
21
III Sem ECE-B/2014-15
DFS (Contd.)
v1
22
III Sem ECE-B/2014-15
DFS (Contd.)
v1
Visited:
v1
23
III Sem ECE-B/2014-15
DFS (Contd.)
v2
v4
Visited:
v1
24
III Sem ECE-B/2014-15
DFS (Contd.)
v2
v4
Visited:
v1 v2
25
III Sem ECE-B/2014-15
DFS (Contd.)
v6
v3
v4
Visited:
v1 v2
26
III Sem ECE-B/2014-15
DFS (Contd.)
v6
v3
v4
DFS (Contd.)
v3
v4
Visited:
v1 v2 v6 v3
28
III Sem ECE-B/2014-15
DFS (Contd.)
v5
v4
Visited:
v1 v2 v6 v3
29
III Sem ECE-B/2014-15
DFS (Contd.)
v5
v4
DFS (Contd.)
v4
DFS (Contd.)
Visited:
v1 v2 v6 v3 v5 v4
32
III Sem ECE-B/2014-15
DFS (Contd.)
33
III Sem ECE-B/2014-15
DFS (Contd.)
34
III Sem ECE-B/2014-15
BFS
Algorithm: BFS(v)
1. Visit the starting vertex, v and insert it into a queue.
2. Repeat step 3 until the queue becomes empty.
3. Delete the front vertex from the queue, visit all its unvisited
adjacent vertices, and insert them into the queue.
35
III Sem ECE-B/2014-15
BFS (Contd.)
Visit v1
Insert v1 into the queue
v1
v1
36
III Sem ECE-B/2014-15
BFS (Contd.)
v1
Visited:
v1
37
III Sem ECE-B/2014-15
BFS (Contd.)
v2 v4
v1 v2 v4
38
III Sem ECE-B/2014-15
BFS (Contd.)
v2 v4
v1 v2 v4
39
III Sem ECE-B/2014-15
BFS (Contd.)
v4 v3 v6
v1 v2 v4 v3 v6
40
III Sem ECE-B/2014-15
BFS (Contd.)
v4 v3 v6 v5
v1 v2 v4 v3 v6 v5
41
III Sem ECE-B/2014-15
BFS (Contd.)
v3 v6 v5
v1 v2 v4 v3 v6 v5
42
III Sem ECE-B/2014-15
BFS (Contd.)
v6 v5
v1 v2 v4 v3 v6 v5
43
III Sem ECE-B/2014-15
BFS (Contd.)
v5
v1 v2 v4 v3 v6 v5
44
III Sem ECE-B/2014-15
BFS (Contd.)
v5
v1 v2 v4 v3 v6 v5
45
III Sem ECE-B/2014-15
BFS (Contd.)
v1 v2 v4 v3 v6 v5
46
III Sem ECE-B/2014-15
BFS (Contd.)
v1 v2 v4 v3 v6 v5
47
III Sem ECE-B/2014-15
BFS (Contd.)
48
III Sem ECE-B/2014-15
BFS (Contd.)
49
III Sem ECE-B/2014-15
Problem Statement:
You have to represent a set of cities and the distances
between them in the form of a graph. Write a program to
represent the graph in the form of an adjacency matrix.
50
III Sem ECE-B/2014-15
Applications of Graphs
51