SlideShare a Scribd company logo
1 of 57
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
1
O my Lord! Expand for me my chest [with
assurance] and ease for me my task and untie the
knot from my tongue that they may understand
my speech. (Quran 20 : 25-28)
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph
2
Introduction
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Introduction
• Arrays
• Linked List
• Stacks
• Queues
• Tree
• Graph
3
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Introduction
• Definition
oA graph is a non-linear and non-hierarchical
data structure that organizes data elements,
called vertices, by connecting them with links,
called edges
4
edges (weight)
node or vertex
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Introduction
• A graph G = (V,E) is composed of:
oV: set of vertices (nodes)
oE: set of edges (arcs) connecting the vertices V
• An edge e = (u,v) is a pair of vertices
5
V= {a,b,c,d,e}
E=
{(a,b),(a,c),(a,d),(b,e),(c,d),(c,e),(d,e)}
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph Examples - nasair flight network
6
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph Examples – Computer Network
7
Comcast
Regional Network
Intel UNT
Charter
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Application
• Traveling Salesman
• Find the shortest path that connects all
cities without a loop.
8
Start
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Types
• Undirected Graph
oEdge has no
orientation
9
• Directed Graph
oEdge has oriented
vertex
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph
10
Terminologies
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies - Sub graph
• Subset of vertices and edges
11
B
C
D
A
B
C
A
B
C
A
C
B
A
B
C A
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies –Path
• A path is a walk from one vertex to any other
vertex.
• The vertices traversed to reach to a vertex
from an other
oABCD is a path
oADC
oABDA
oBCDA
oABDCBA
oABCA
12
B
C
D
A
path
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies – Simple Path
• A simple path is a path such that all vertices
are distinct
oABCD is a simple path
oADC
oABDA
oBCDA
oABDCBA
oABCA
13
B
C
D
A
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies – Cycle
• A cycle is a path that starts and ends at the
same point. For undirected graph, the
edges are distinct.
oCBDC is a Cycle
oABCD
oABDA
oBCDB
oABDCBA
14
B
C
D
A
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph – Connected / Unconnected
• Connected Graph
oAll vertices are
connected
15
• Unconnected Graph
oOne or more
vertices are not
linked
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies – DAG
• Directed Acyclic Graph (DAG) : directed
graph without cycle
16
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies – Weighted Graph
• Weighted graph: a graph with numbers
assigned to its edges
ocost, distance, travel time, etc.
17
0
1
3
2
20
10
1
5
4
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies – Complete Graph
• There is a direct edge between every two
vertices
• Total edges E = N(N-1)/2
18
0
1
3
2
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Terminologies – Sparse Graph
• There is a very small number of edges in
the graph
• Total edges E = N-1
19
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph
20
Representation
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Representation
• Adjacency Matrix
• Adjacency List
21
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Adjacency Matrix
• Assume N nodes in graph
• Use Matrix A[0…N-1][0…N-1]
oif vertex i and vertex j are adjacent in graph,
A[i][j] = 1,
o otherwise A[i][j] = 0
oif vertex i has a loop, A[i][i] = 1
oif vertex i has no loop, A[i][i] = 0
22
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Adjacency Matrix
23
0
1
3
2
A[i][j] 0 1 2 3
0 0 1 1 0
1 1 0 1 1
2 1 1 0 1
3 0 1 1 0
So, Matrix A =
0 1 1 0
1 0 1 1
1 1 0 1
0 1 1 0
Undirected Graph
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
A[i][j] 0 1 2 3
0 0 1 1 1
1 0 0 0 1
2 0 0 0 1
3 0 0 0 0
0
1
3
2
So, Matrix A =
0 1 1 1
0 0 0 1
0 0 0 1
0 0 0 0
Representation – Adjacency Matrix
Directed Graph
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
A[i][j] 0 1 2 3
0 0 20 10 1
1 20 0 0 5
2 10 0 0 4
3 1 5 4 0
0
1
3
2
10
20
1
4
5
So, Matrix A =
0 20 10 1
20 0 0 5
10 0 0 4
1 5 4 0
Representation – Adjacency Matrix
Weighted Graph
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Adjacency Matrix
• Undirected graph
oadjacency matrix is symmetric
oA[i][j]=A[j][i]
• Directed graph
oadjacency matrix may not be symmetric
oA[i][j]A[j][i]
26
A[i][j] 0 1 2 3
0 0 1 1 1
1 0 0 0 1
2 0 0 0 1
3 0 0 0 0
A[i][j] 0 1 2 3
0 0 1 1 0
1 1 0 1 1
2 1 1 0 1
3 0 1 1 0
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Adjacency List
• An array of lists
• The ith element of the array is a list of
vertices that connect to vertex i
27
0
1
3
2
0
1
2
3
1 2 3
3
3
Directed Graph
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Adjacency List
• An array of lists
• The ith element of the array is a list of
vertices that connect to vertex i
28 Undirected Graph
0
1
3
2
0
1
2
3
1 2 3
0 3
0 3
0 1 2
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Adjacency List
• Extend each node with an addition field:
weight
29 Weighted Graph
0
1
3
2
20 10
1
5
4
0
1
2
3
1 10 2 20 3 1
0 10 3 4
0 20 3 5
0 1 1 4 2 5
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Representation – Comparisons
30
Cost
Adjacency
Matrix
Adjacency
List
Given two vertices u and v:
find out whether u and v are
adjacent
O(1)
degree of
node
O(N)
Given a vertex u:
enumerate all neighbors of u
O(N)
degree of
node
O(N)
For all vertices:
enumerate all neighbors of
each vertex
O(N2)
Summation
s of all node
degree
O(E)
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph
31
Traversal
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Graph - Traversal
• Depth First Search (DFS) Traversal
• Breadth First Search (BFS) Traversal
32
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
Traversal - DFS
• Probing List is implemented as stack (LIFO)
• Example
oA’s neighbor: B, C, E
oB’s neighbor: A, C, F
oC’s neighbor: A, B, D
oD’s neighbor: E, C, F
oE’s neighbor: A, D
oF’s neighbor: B, D
oStart from vertex A
33
A
B C E
F D
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Initial State
oVisited Vertices { }
oProbing Vertices { A }
oUnvisited Vertices { A, B, C, D, E, F }
A
B
C E
F D
– A’s neighbor: B C E
– B’s neighbor: A C F
– C’s neighbor: A B D
– D’s neighbor: E C F
– E’s neighbor: A D
– F’s neighbor: B D
A
stack
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is A, mark it as
visited
• Find A’s first unvisited neighbor, push it into
stack
o Visited Vertices { A }
o Probing vertices { A, B }
o Unvisited Vertices { B, C, D, E, F }
A
B
C E
F D
B
A
stack
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is B, mark it as
visited
• Find B’s first unvisited neighbor, push it in
stack
o Visited Vertices { A, B }
o Probing Vertices { A, B, C }
o Unvisited Vertices { C, D, E, F }
C
B
A
stack
B
A
A
B
C E
F D
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is C, mark it as
visited
• Find C’s first unvisited neighbor, push it in
stack
o Visited Vertices { A, B, C }
o Probing Vertices { A, B, C, D }
o Unvisited Vertices { D, E, F }
stack
A
B
C E
F D
D
C
B
A
C
B
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is D, mark it as
visited
• Find D’s first unvisited neighbor, push it in
stack
o Visited Vertices { A, B, C, D }
o Probing Vertices { A, B, C, D, E }
o Unvisited Vertices { E, F }
stack
A
B
C E
F D
D
C
B
E
A
D
C
B
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is E, mark it as
visited
• Find E’s first unvisited neighbor, no vertex
found, Pop E
o Visited Vertices { A, B, C, D, E }
o Probing Vertices { A, B, C, D }
o Unvisited Vertices { F }
stack
A
B
C E
F D
D
C
B
A
D
C
B
E
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is D, mark it as
visited
• Find D’s first unvisited neighbor, push it in
stack
o Visited Vertices { A, B, C, D, E }
o Probing Vertices { A, B, C, D, F}
o Unvisited Vertices { F }
stack
A
B
C E
F D
D
C
B
F
A
D
C
B
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is F, mark it as
visited
• Find F’s first unvisited neighbor, no vertex
found, Pop F
o Visited Vertices { A, B, C, D, E, F }
o Probing Vertices { A, B, C, D}
o Unvisited Vertices { } stack
A
B
C E
F D
D
C
B
A
D
C
B
F
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is D, mark it as
visited
• Find D’s first unvisited neighbor, no vertex
found, Pop D
o Visited Vertices { A, B, C, D, E, F }
o Probing Vertices { A, B, C }
o Unvisited Vertices { } stack
A
B
C E
F D
C
B
A
D
C
B
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is C, mark it as
visited
• Find C’s first unvisited neighbor, no vertex
found, Pop C
o Visited Vertices { A, B, C, D, E, F }
o Probing Vertices { A, B }
o Unvisited Vertices { } stack
A
B
C E
F D
B
A
C
B
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is B, mark it as
visited
• Find B’s first unvisited neighbor, no vertex
found, Pop B
o Visited Vertices { A, B, C, D, E, F }
o Probing Vertices { A }
o Unvisited Vertices { } stack
A
B
C E
F D
A
B
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Pick a vertex from stack, it is A, mark it as
visited
• Find A’s first unvisited neighbor, no vertex
found, Pop A
o Visited Vertices { A, B, C, D, E, F }
o Probing Vertices { }
o Unvisited Vertices { } stack
A
B
C E
F D
A
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Now probing list is empty
• End of Depth First Traversal
oVisited Vertices { A, B, C, D, E, F }
oProbing Vertices { }
oUnvisited Vertices { }
stack
A
B
C E
F D
Traversal - DFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Probing List is implemented as queue
(FIFO)
• Example
oA’s neighbor: B C E
oB’s neighbor: A C F
oC’s neighbor: A B D
oD’s neighbor: E C F
oE’s neighbor: A D
oF’s neighbor: B D
oStart from vertex A
A
B
C E
F D
Traversal – Breadth First Search
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Initial State
oVisited Vertices { }
oProbing Vertices { A }
oUnvisited Vertices { A, B, C, D, E, F }
A
B
C E
F D
A
queue
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Delete first vertex from queue, it is A, mark it as
visited
• Find A’s all unvisited neighbors, mark them as
visited, put them into queue
o Visited Vertices { A, B, C, E }
o Probing Vertices { B, C, E }
o Unvisited Vertices { D, F }
A
B
C E
F D
A
queue
B E
C
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Delete first vertex from queue, it is B, mark it as
visited
• Find B’s all unvisited neighbors, mark them as
visited, put them into queue
o Visited Vertices { A, B, C, E, F }
o Probing Vertices { C, E, F }
o Unvisited Vertices { D }
A
B
C E
F D
B E
C
queue
C F
E
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Delete first vertex from queue, it is C, mark it as
visited
• Find C’s all unvisited neighbors, mark them as
visited, put them into queue
o Visited Vertices { A, B, C, E, F, D }
o Probing Vertices { E, F, D }
o Unvisited Vertices { }
A
B
C E
F D
C F
E
queue
E D
F
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Delete first vertex from queue, it is E, mark it as
visited
• Find E’s all unvisited neighbors, no vertex found
o Visited Vertices { A, B, C, E, F, D }
o Probing Vertices { F, D }
o Unvisited Vertices { }
A
B
C E
F D
E D
F
queue
F D
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Delete first vertex from queue, it is F, mark it as
visited
• Find F’s all unvisited neighbors, no vertex found
o Visited Vertices { A, B, C, E, F, D }
o Probing Vertices { D }
o Unvisited Vertices { }
A
B
C E
F D
F D
queue
D
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Delete first vertex from queue, it is D, mark it as
visited
• Find D’s all unvisited neighbors, no vertex found
o Visited Vertices { A, B, C, E, F, D }
o Probing Vertices { }
o Unvisited Vertices { }
A
B
C E
F D
D
queue
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Now the queue is empty
• End of Breadth First Traversal
oVisited Vertices { A, B, C, E, F, D }
oProbing Vertices { }
oUnvisited Vertices { }
A
B
C E
F D
queue
Traversal – BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
• Depth First Search(DFS)
oOrder of visited: A, B, C, D, E, F
• Breadth First Search (BFS)
oOrder of visited: A, B, C, E, F, D
A
B
C E
F D
Difference – DFS & BFS
Data Structures - I
“No Bonus” marks for this course anymore
C
P
C
S
2
0
4
Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan
57
Allah (Alone) is Sufficient for us,
and He is the Best Disposer of
affairs (for us).(Quran 3 : 173)

More Related Content

Recently uploaded

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 

Recently uploaded (20)

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

CPCS204-15-Graphdatastructureinjava.pptx

  • 1. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan 1 O my Lord! Expand for me my chest [with assurance] and ease for me my task and untie the knot from my tongue that they may understand my speech. (Quran 20 : 25-28)
  • 2. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph 2 Introduction
  • 3. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Introduction • Arrays • Linked List • Stacks • Queues • Tree • Graph 3
  • 4. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Introduction • Definition oA graph is a non-linear and non-hierarchical data structure that organizes data elements, called vertices, by connecting them with links, called edges 4 edges (weight) node or vertex
  • 5. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Introduction • A graph G = (V,E) is composed of: oV: set of vertices (nodes) oE: set of edges (arcs) connecting the vertices V • An edge e = (u,v) is a pair of vertices 5 V= {a,b,c,d,e} E= {(a,b),(a,c),(a,d),(b,e),(c,d),(c,e),(d,e)}
  • 6. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph Examples - nasair flight network 6
  • 7. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph Examples – Computer Network 7 Comcast Regional Network Intel UNT Charter
  • 8. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Application • Traveling Salesman • Find the shortest path that connects all cities without a loop. 8 Start
  • 9. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Types • Undirected Graph oEdge has no orientation 9 • Directed Graph oEdge has oriented vertex
  • 10. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph 10 Terminologies
  • 11. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies - Sub graph • Subset of vertices and edges 11 B C D A B C A B C A C B A B C A
  • 12. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies –Path • A path is a walk from one vertex to any other vertex. • The vertices traversed to reach to a vertex from an other oABCD is a path oADC oABDA oBCDA oABDCBA oABCA 12 B C D A path
  • 13. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies – Simple Path • A simple path is a path such that all vertices are distinct oABCD is a simple path oADC oABDA oBCDA oABDCBA oABCA 13 B C D A
  • 14. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies – Cycle • A cycle is a path that starts and ends at the same point. For undirected graph, the edges are distinct. oCBDC is a Cycle oABCD oABDA oBCDB oABDCBA 14 B C D A
  • 15. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph – Connected / Unconnected • Connected Graph oAll vertices are connected 15 • Unconnected Graph oOne or more vertices are not linked
  • 16. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies – DAG • Directed Acyclic Graph (DAG) : directed graph without cycle 16
  • 17. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies – Weighted Graph • Weighted graph: a graph with numbers assigned to its edges ocost, distance, travel time, etc. 17 0 1 3 2 20 10 1 5 4
  • 18. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies – Complete Graph • There is a direct edge between every two vertices • Total edges E = N(N-1)/2 18 0 1 3 2
  • 19. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Terminologies – Sparse Graph • There is a very small number of edges in the graph • Total edges E = N-1 19
  • 20. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph 20 Representation
  • 21. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Representation • Adjacency Matrix • Adjacency List 21
  • 22. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Adjacency Matrix • Assume N nodes in graph • Use Matrix A[0…N-1][0…N-1] oif vertex i and vertex j are adjacent in graph, A[i][j] = 1, o otherwise A[i][j] = 0 oif vertex i has a loop, A[i][i] = 1 oif vertex i has no loop, A[i][i] = 0 22
  • 23. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Adjacency Matrix 23 0 1 3 2 A[i][j] 0 1 2 3 0 0 1 1 0 1 1 0 1 1 2 1 1 0 1 3 0 1 1 0 So, Matrix A = 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 Undirected Graph
  • 24. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan A[i][j] 0 1 2 3 0 0 1 1 1 1 0 0 0 1 2 0 0 0 1 3 0 0 0 0 0 1 3 2 So, Matrix A = 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 Representation – Adjacency Matrix Directed Graph
  • 25. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan A[i][j] 0 1 2 3 0 0 20 10 1 1 20 0 0 5 2 10 0 0 4 3 1 5 4 0 0 1 3 2 10 20 1 4 5 So, Matrix A = 0 20 10 1 20 0 0 5 10 0 0 4 1 5 4 0 Representation – Adjacency Matrix Weighted Graph
  • 26. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Adjacency Matrix • Undirected graph oadjacency matrix is symmetric oA[i][j]=A[j][i] • Directed graph oadjacency matrix may not be symmetric oA[i][j]A[j][i] 26 A[i][j] 0 1 2 3 0 0 1 1 1 1 0 0 0 1 2 0 0 0 1 3 0 0 0 0 A[i][j] 0 1 2 3 0 0 1 1 0 1 1 0 1 1 2 1 1 0 1 3 0 1 1 0
  • 27. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Adjacency List • An array of lists • The ith element of the array is a list of vertices that connect to vertex i 27 0 1 3 2 0 1 2 3 1 2 3 3 3 Directed Graph
  • 28. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Adjacency List • An array of lists • The ith element of the array is a list of vertices that connect to vertex i 28 Undirected Graph 0 1 3 2 0 1 2 3 1 2 3 0 3 0 3 0 1 2
  • 29. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Adjacency List • Extend each node with an addition field: weight 29 Weighted Graph 0 1 3 2 20 10 1 5 4 0 1 2 3 1 10 2 20 3 1 0 10 3 4 0 20 3 5 0 1 1 4 2 5
  • 30. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Representation – Comparisons 30 Cost Adjacency Matrix Adjacency List Given two vertices u and v: find out whether u and v are adjacent O(1) degree of node O(N) Given a vertex u: enumerate all neighbors of u O(N) degree of node O(N) For all vertices: enumerate all neighbors of each vertex O(N2) Summation s of all node degree O(E)
  • 31. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph 31 Traversal
  • 32. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Graph - Traversal • Depth First Search (DFS) Traversal • Breadth First Search (BFS) Traversal 32
  • 33. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan Traversal - DFS • Probing List is implemented as stack (LIFO) • Example oA’s neighbor: B, C, E oB’s neighbor: A, C, F oC’s neighbor: A, B, D oD’s neighbor: E, C, F oE’s neighbor: A, D oF’s neighbor: B, D oStart from vertex A 33 A B C E F D
  • 34. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Initial State oVisited Vertices { } oProbing Vertices { A } oUnvisited Vertices { A, B, C, D, E, F } A B C E F D – A’s neighbor: B C E – B’s neighbor: A C F – C’s neighbor: A B D – D’s neighbor: E C F – E’s neighbor: A D – F’s neighbor: B D A stack Traversal - DFS
  • 35. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is A, mark it as visited • Find A’s first unvisited neighbor, push it into stack o Visited Vertices { A } o Probing vertices { A, B } o Unvisited Vertices { B, C, D, E, F } A B C E F D B A stack A Traversal - DFS
  • 36. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is B, mark it as visited • Find B’s first unvisited neighbor, push it in stack o Visited Vertices { A, B } o Probing Vertices { A, B, C } o Unvisited Vertices { C, D, E, F } C B A stack B A A B C E F D Traversal - DFS
  • 37. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is C, mark it as visited • Find C’s first unvisited neighbor, push it in stack o Visited Vertices { A, B, C } o Probing Vertices { A, B, C, D } o Unvisited Vertices { D, E, F } stack A B C E F D D C B A C B A Traversal - DFS
  • 38. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is D, mark it as visited • Find D’s first unvisited neighbor, push it in stack o Visited Vertices { A, B, C, D } o Probing Vertices { A, B, C, D, E } o Unvisited Vertices { E, F } stack A B C E F D D C B E A D C B A Traversal - DFS
  • 39. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is E, mark it as visited • Find E’s first unvisited neighbor, no vertex found, Pop E o Visited Vertices { A, B, C, D, E } o Probing Vertices { A, B, C, D } o Unvisited Vertices { F } stack A B C E F D D C B A D C B E A Traversal - DFS
  • 40. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is D, mark it as visited • Find D’s first unvisited neighbor, push it in stack o Visited Vertices { A, B, C, D, E } o Probing Vertices { A, B, C, D, F} o Unvisited Vertices { F } stack A B C E F D D C B F A D C B A Traversal - DFS
  • 41. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is F, mark it as visited • Find F’s first unvisited neighbor, no vertex found, Pop F o Visited Vertices { A, B, C, D, E, F } o Probing Vertices { A, B, C, D} o Unvisited Vertices { } stack A B C E F D D C B A D C B F A Traversal - DFS
  • 42. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is D, mark it as visited • Find D’s first unvisited neighbor, no vertex found, Pop D o Visited Vertices { A, B, C, D, E, F } o Probing Vertices { A, B, C } o Unvisited Vertices { } stack A B C E F D C B A D C B A Traversal - DFS
  • 43. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is C, mark it as visited • Find C’s first unvisited neighbor, no vertex found, Pop C o Visited Vertices { A, B, C, D, E, F } o Probing Vertices { A, B } o Unvisited Vertices { } stack A B C E F D B A C B A Traversal - DFS
  • 44. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is B, mark it as visited • Find B’s first unvisited neighbor, no vertex found, Pop B o Visited Vertices { A, B, C, D, E, F } o Probing Vertices { A } o Unvisited Vertices { } stack A B C E F D A B A Traversal - DFS
  • 45. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Pick a vertex from stack, it is A, mark it as visited • Find A’s first unvisited neighbor, no vertex found, Pop A o Visited Vertices { A, B, C, D, E, F } o Probing Vertices { } o Unvisited Vertices { } stack A B C E F D A Traversal - DFS
  • 46. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Now probing list is empty • End of Depth First Traversal oVisited Vertices { A, B, C, D, E, F } oProbing Vertices { } oUnvisited Vertices { } stack A B C E F D Traversal - DFS
  • 47. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Probing List is implemented as queue (FIFO) • Example oA’s neighbor: B C E oB’s neighbor: A C F oC’s neighbor: A B D oD’s neighbor: E C F oE’s neighbor: A D oF’s neighbor: B D oStart from vertex A A B C E F D Traversal – Breadth First Search
  • 48. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Initial State oVisited Vertices { } oProbing Vertices { A } oUnvisited Vertices { A, B, C, D, E, F } A B C E F D A queue Traversal – BFS
  • 49. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Delete first vertex from queue, it is A, mark it as visited • Find A’s all unvisited neighbors, mark them as visited, put them into queue o Visited Vertices { A, B, C, E } o Probing Vertices { B, C, E } o Unvisited Vertices { D, F } A B C E F D A queue B E C Traversal – BFS
  • 50. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Delete first vertex from queue, it is B, mark it as visited • Find B’s all unvisited neighbors, mark them as visited, put them into queue o Visited Vertices { A, B, C, E, F } o Probing Vertices { C, E, F } o Unvisited Vertices { D } A B C E F D B E C queue C F E Traversal – BFS
  • 51. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Delete first vertex from queue, it is C, mark it as visited • Find C’s all unvisited neighbors, mark them as visited, put them into queue o Visited Vertices { A, B, C, E, F, D } o Probing Vertices { E, F, D } o Unvisited Vertices { } A B C E F D C F E queue E D F Traversal – BFS
  • 52. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Delete first vertex from queue, it is E, mark it as visited • Find E’s all unvisited neighbors, no vertex found o Visited Vertices { A, B, C, E, F, D } o Probing Vertices { F, D } o Unvisited Vertices { } A B C E F D E D F queue F D Traversal – BFS
  • 53. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Delete first vertex from queue, it is F, mark it as visited • Find F’s all unvisited neighbors, no vertex found o Visited Vertices { A, B, C, E, F, D } o Probing Vertices { D } o Unvisited Vertices { } A B C E F D F D queue D Traversal – BFS
  • 54. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Delete first vertex from queue, it is D, mark it as visited • Find D’s all unvisited neighbors, no vertex found o Visited Vertices { A, B, C, E, F, D } o Probing Vertices { } o Unvisited Vertices { } A B C E F D D queue Traversal – BFS
  • 55. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Now the queue is empty • End of Breadth First Traversal oVisited Vertices { A, B, C, E, F, D } oProbing Vertices { } oUnvisited Vertices { } A B C E F D queue Traversal – BFS
  • 56. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan • Depth First Search(DFS) oOrder of visited: A, B, C, D, E, F • Breadth First Search (BFS) oOrder of visited: A, B, C, E, F, D A B C E F D Difference – DFS & BFS
  • 57. Data Structures - I “No Bonus” marks for this course anymore C P C S 2 0 4 Dr. Jonathan (Yahya) Cazalas Dr. Muhammad Umair Ramzan 57 Allah (Alone) is Sufficient for us, and He is the Best Disposer of affairs (for us).(Quran 3 : 173)