SlideShare a Scribd company logo
Data Structure
Graph
Graphs
● A data structure that consists of a set of nodes (vertices) and a
set of edges that relate the nodes to each other
● The set of edges describes relationships among the vertices .
● A graph G is defined as follows:
G=(V,E)
V(G): a finite, nonempty set of vertices
E(G): a set of edges (pairs of vertices)
2Graph
Examples of Graphs
● V={0,1,2,3,4}
● E={(0,1), (1,2), (0,3), (3,0), (2,2), (4,3)}
Graph 3
0
1
4
2
3
When (x,y) is an edge,
we say that x is adjacent to y, and y
is adjacent from x.
0 is adjacent to 1.
1 is not adjacent to 0.
2 is adjacent from 1.
Directed vs. Undirected Graphs
● Undirected edge has no orientation (no arrow head)
● Directed edge has an orientation (has an arrow head)
● Undirected graph – all edges are undirected
● Directed graph – all edges are directed
u v
directed edge
u v
undirected edge
4Graph
Weighted graph:
-a graph in which each edge carries a value
5Graph
Directed graph Undirected graph
Directed Graph
● Directed edge (i, j) is incident to vertex j and
incident from vertex i
● Vertex i is adjacent to vertex j, and vertex j is
adjacent from vertex i
6Graph
Graph terminology
● Adjacent nodes: two nodes are adjacent if they are
connected by an edge
● Path: a sequence of vertices that connect two
nodes in a graph
● A simple path is a path in which all vertices, except
possibly in the first and last, are different.
● Complete graph: a graph in which every vertex is
directly connected to every other vertex
5 is adjacent to 7
7 is adjacent from
5
7Graph
Continued…
● A cycle is a simple path with the same start and
end vertex.
● The degree of vertex i is the no. of edges incident on
vertex i.
e.g., degree(2) = 2, degree(5) = 3, degree(3) = 1
Graph 8
Continued…
Undirected graphs are connected if there is a path
between any two vertices
Directed graphs are strongly connected if there is a path
from any one vertex to any other
Directed graphs are weakly connected if there is a path
between any two vertices, ignoring direction
A complete graph has an edge between every pair of
vertices
9Graph
Continued…
● Loops: edges that connect a vertex to itself
● Paths: sequences of vertices p0, p1, … pm such that
each adjacent pair of vertices are connected by an
edge
● A simple path is a path in which all vertices, except
possibly in the first and last, are different.
● Multiple Edges: two nodes may be connected by >1
edge
● Simple Graphs: have no loops and no multiple edges
10Graph
Graph Properties
Number of Edges – Undirected Graph
● The no. of possible pairs in an n vertex graph is
n*(n-1)
● Since edge (u,v) is the same as edge (v,u), the
number of edges in an undirected graph is n*(n-
1)/2.
Graph 11
Number of Edges - Directed Graph
● The no. of possible pairs in an n vertex graph is
n*(n-1)
● Since edge (u,v) is not the same as edge (v,u), the
number of edges in a directed graph is n*(n-1)
● Thus, the number of edges in a directed graph is ≤
n*(n-1)
Graph 12
Graph 13
• In-degree of vertex i is the number of edges incident to i (i.e.,
the number of incoming edges).
e.g., indegree(2) = 1, indegree(8) = 0
• Out-degree of vertex i is the number of edges incident from i
(i.e., the number of outgoing edges).
e.g., outdegree(2) = 1, outdegree(8) = 2
Graph Representation
● For graphs to be computationally useful, they have to
be conveniently represented in programs
● There are two computer representations of graphs:
● Adjacency matrix representation
● Adjacency lists representation
Graph 14
● Adjacency Matrix
● A square grid of boolean values
● If the graph contains N vertices, then the grid contains
N rows and N columns
● For two vertices numbered I and J, the element at row I
and column J is true if there is an edge from I to J,
otherwise false
Graph 15
Adjacency Matrix
Graph 16
1
2
3
0
4
0 1 2 3 4
0 false false true false false
1 false false false true false
2 false true false false true
3 false false false false false
4 false false false true false
Adjacency Matrix
1
43
5
2
17Graph
L23 18
Adjacency Matrix
-Directed Multigraphs
A:
1
2
34
Adjacency Lists Representation
● A graph of n nodes is represented by a one-
dimensional array L of linked lists, where
● L[i] is the linked list containing all the nodes adjacent
from node i.
● The nodes in the list L[i] are in no particular order
Graph 19
Graph
Graphs: Adjacency List
● Adjacency list: for each vertex v ∈ V, store a list of
vertices adjacent to v
● Example:
● Adj[1] = {2,3}
● Adj[2] = {3}
● Adj[3] = {}
● Adj[4] = {3}
● Variation: can also keep
a list of edges coming into vertex
1
2 4
3
20
Graphs: Adjacency List
● How much storage is required?
● The degree of a vertex v = # incident edges
● Directed graphs have in-degree, out-degree
● For directed graphs, # of items in adjacency lists is
Σ out-degree(v) = |E|
For undirected graphs, # items in adjacency lists is
Σ degree(v) = 2 |E|
● So: Adjacency lists take O(V+E) storage
21Graph
Implementing Graphs
Implementing Graphs
● (a) A weighted undirected graph and
(b) its adjacency list
Thank you!!!!
24Graph

More Related Content

What's hot

linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
shameen khan
 
Hashing
HashingHashing
Hashing
Amar Jukuntla
 
Topological Sorting
Topological SortingTopological Sorting
Topological Sorting
ShahDhruv21
 
Graph traversals in Data Structures
Graph traversals in Data StructuresGraph traversals in Data Structures
Graph traversals in Data Structures
Anandhasilambarasan D
 
Applications of stack
Applications of stackApplications of stack
Applications of stack
eShikshak
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked List
Ninad Mankar
 
B and B+ tree
B and B+ treeB and B+ tree
B and B+ tree
Ashish Arun
 
Ppt on Linked list,stack,queue
Ppt on Linked list,stack,queuePpt on Linked list,stack,queue
Ppt on Linked list,stack,queue
Srajan Shukla
 
Tree traversal techniques
Tree traversal techniquesTree traversal techniques
Tree traversal techniques
Syed Zaid Irshad
 
B trees in Data Structure
B trees in Data StructureB trees in Data Structure
B trees in Data StructureAnuj Modi
 
Breadth First Search & Depth First Search
Breadth First Search & Depth First SearchBreadth First Search & Depth First Search
Breadth First Search & Depth First Search
Kevin Jadiya
 
Binary search tree(bst)
Binary search tree(bst)Binary search tree(bst)
Binary search tree(bst)
Hossain Md Shakhawat
 
Data structure ppt
Data structure pptData structure ppt
Data structure ppt
Prof. Dr. K. Adisesha
 
Bfs and Dfs
Bfs and DfsBfs and Dfs
Bfs and Dfs
Masud Parvaze
 
Arrays
ArraysArrays
Sorting
SortingSorting
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data Structures
SHAKOOR AB
 

What's hot (20)

linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
 
Hashing
HashingHashing
Hashing
 
Topological Sorting
Topological SortingTopological Sorting
Topological Sorting
 
Graph traversals in Data Structures
Graph traversals in Data StructuresGraph traversals in Data Structures
Graph traversals in Data Structures
 
Applications of stack
Applications of stackApplications of stack
Applications of stack
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked List
 
AVL Tree
AVL TreeAVL Tree
AVL Tree
 
B and B+ tree
B and B+ treeB and B+ tree
B and B+ tree
 
single linked list
single linked listsingle linked list
single linked list
 
Ppt on Linked list,stack,queue
Ppt on Linked list,stack,queuePpt on Linked list,stack,queue
Ppt on Linked list,stack,queue
 
Tree traversal techniques
Tree traversal techniquesTree traversal techniques
Tree traversal techniques
 
B trees in Data Structure
B trees in Data StructureB trees in Data Structure
B trees in Data Structure
 
Heaps
HeapsHeaps
Heaps
 
Breadth First Search & Depth First Search
Breadth First Search & Depth First SearchBreadth First Search & Depth First Search
Breadth First Search & Depth First Search
 
Binary search tree(bst)
Binary search tree(bst)Binary search tree(bst)
Binary search tree(bst)
 
Data structure ppt
Data structure pptData structure ppt
Data structure ppt
 
Bfs and Dfs
Bfs and DfsBfs and Dfs
Bfs and Dfs
 
Arrays
ArraysArrays
Arrays
 
Sorting
SortingSorting
Sorting
 
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data Structures
 

Similar to Graph in data structure

Graphs
GraphsGraphs
Graphs
amudha arul
 
Graphs.pptx
Graphs.pptxGraphs.pptx
Graphs.pptx
satvikkushwaha1
 
DATA STRUCTURES unit 4.pptx
DATA STRUCTURES unit 4.pptxDATA STRUCTURES unit 4.pptx
DATA STRUCTURES unit 4.pptx
ShivamKrPathak
 
CS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on GraphsCS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on Graphs
ssuser034ce1
 
CS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on GraphsCS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on Graphs
ssuser034ce1
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Saurabh Kaushik
 
Basics of graph
Basics of graphBasics of graph
Basics of graph
Khaled Sany
 
Graphs
GraphsGraphs
Graphs
Dwight Sabio
 
graph theory
graph theorygraph theory
graph theory
Shashank Singh
 
6. Graphs
6. Graphs6. Graphs
6. Graphs
Mandeep Singh
 
Ppt of graph theory
Ppt of graph theoryPpt of graph theory
Ppt of graph theory
ArvindBorge
 
Unit 2: All
Unit 2: AllUnit 2: All
Unit 2: All
Hector Zenil
 
Graph Representation, DFS and BFS Presentation.pptx
Graph Representation, DFS and BFS Presentation.pptxGraph Representation, DFS and BFS Presentation.pptx
Graph Representation, DFS and BFS Presentation.pptx
bashirabdullah789
 
Elements of Graph Theory for IS.pptx
Elements of Graph Theory for IS.pptxElements of Graph Theory for IS.pptx
Elements of Graph Theory for IS.pptx
miki304759
 
09_DS_MCA_Graphs.pdf
09_DS_MCA_Graphs.pdf09_DS_MCA_Graphs.pdf
09_DS_MCA_Graphs.pdf
Prasanna David
 
Chapter 1
Chapter   1Chapter   1
Chapter 1
MeeraMeghpara
 
Graph in Discrete mathemaetics.pptx
Graph in Discrete mathemaetics.pptxGraph in Discrete mathemaetics.pptx
Graph in Discrete mathemaetics.pptx
ujjwalmatoliya
 
Graphs.pdf
Graphs.pdfGraphs.pdf
Graphs.pdf
pubggaming58982
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptx
ARVIND SARDAR
 

Similar to Graph in data structure (20)

Graphs
GraphsGraphs
Graphs
 
Graphs.pptx
Graphs.pptxGraphs.pptx
Graphs.pptx
 
DATA STRUCTURES unit 4.pptx
DATA STRUCTURES unit 4.pptxDATA STRUCTURES unit 4.pptx
DATA STRUCTURES unit 4.pptx
 
CS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on GraphsCS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on Graphs
 
CS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on GraphsCS-102 Data Structure lectures on Graphs
CS-102 Data Structure lectures on Graphs
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
 
Basics of graph
Basics of graphBasics of graph
Basics of graph
 
graph.pptx
graph.pptxgraph.pptx
graph.pptx
 
Graphs
GraphsGraphs
Graphs
 
graph theory
graph theorygraph theory
graph theory
 
6. Graphs
6. Graphs6. Graphs
6. Graphs
 
Ppt of graph theory
Ppt of graph theoryPpt of graph theory
Ppt of graph theory
 
Unit 2: All
Unit 2: AllUnit 2: All
Unit 2: All
 
Graph Representation, DFS and BFS Presentation.pptx
Graph Representation, DFS and BFS Presentation.pptxGraph Representation, DFS and BFS Presentation.pptx
Graph Representation, DFS and BFS Presentation.pptx
 
Elements of Graph Theory for IS.pptx
Elements of Graph Theory for IS.pptxElements of Graph Theory for IS.pptx
Elements of Graph Theory for IS.pptx
 
09_DS_MCA_Graphs.pdf
09_DS_MCA_Graphs.pdf09_DS_MCA_Graphs.pdf
09_DS_MCA_Graphs.pdf
 
Chapter 1
Chapter   1Chapter   1
Chapter 1
 
Graph in Discrete mathemaetics.pptx
Graph in Discrete mathemaetics.pptxGraph in Discrete mathemaetics.pptx
Graph in Discrete mathemaetics.pptx
 
Graphs.pdf
Graphs.pdfGraphs.pdf
Graphs.pdf
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptx
 

Recently uploaded

How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
rosedainty
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 

Recently uploaded (20)

How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 

Graph in data structure

  • 2. Graphs ● A data structure that consists of a set of nodes (vertices) and a set of edges that relate the nodes to each other ● The set of edges describes relationships among the vertices . ● A graph G is defined as follows: G=(V,E) V(G): a finite, nonempty set of vertices E(G): a set of edges (pairs of vertices) 2Graph
  • 3. Examples of Graphs ● V={0,1,2,3,4} ● E={(0,1), (1,2), (0,3), (3,0), (2,2), (4,3)} Graph 3 0 1 4 2 3 When (x,y) is an edge, we say that x is adjacent to y, and y is adjacent from x. 0 is adjacent to 1. 1 is not adjacent to 0. 2 is adjacent from 1.
  • 4. Directed vs. Undirected Graphs ● Undirected edge has no orientation (no arrow head) ● Directed edge has an orientation (has an arrow head) ● Undirected graph – all edges are undirected ● Directed graph – all edges are directed u v directed edge u v undirected edge 4Graph
  • 5. Weighted graph: -a graph in which each edge carries a value 5Graph
  • 6. Directed graph Undirected graph Directed Graph ● Directed edge (i, j) is incident to vertex j and incident from vertex i ● Vertex i is adjacent to vertex j, and vertex j is adjacent from vertex i 6Graph
  • 7. Graph terminology ● Adjacent nodes: two nodes are adjacent if they are connected by an edge ● Path: a sequence of vertices that connect two nodes in a graph ● A simple path is a path in which all vertices, except possibly in the first and last, are different. ● Complete graph: a graph in which every vertex is directly connected to every other vertex 5 is adjacent to 7 7 is adjacent from 5 7Graph
  • 8. Continued… ● A cycle is a simple path with the same start and end vertex. ● The degree of vertex i is the no. of edges incident on vertex i. e.g., degree(2) = 2, degree(5) = 3, degree(3) = 1 Graph 8
  • 9. Continued… Undirected graphs are connected if there is a path between any two vertices Directed graphs are strongly connected if there is a path from any one vertex to any other Directed graphs are weakly connected if there is a path between any two vertices, ignoring direction A complete graph has an edge between every pair of vertices 9Graph
  • 10. Continued… ● Loops: edges that connect a vertex to itself ● Paths: sequences of vertices p0, p1, … pm such that each adjacent pair of vertices are connected by an edge ● A simple path is a path in which all vertices, except possibly in the first and last, are different. ● Multiple Edges: two nodes may be connected by >1 edge ● Simple Graphs: have no loops and no multiple edges 10Graph
  • 11. Graph Properties Number of Edges – Undirected Graph ● The no. of possible pairs in an n vertex graph is n*(n-1) ● Since edge (u,v) is the same as edge (v,u), the number of edges in an undirected graph is n*(n- 1)/2. Graph 11
  • 12. Number of Edges - Directed Graph ● The no. of possible pairs in an n vertex graph is n*(n-1) ● Since edge (u,v) is not the same as edge (v,u), the number of edges in a directed graph is n*(n-1) ● Thus, the number of edges in a directed graph is ≤ n*(n-1) Graph 12
  • 13. Graph 13 • In-degree of vertex i is the number of edges incident to i (i.e., the number of incoming edges). e.g., indegree(2) = 1, indegree(8) = 0 • Out-degree of vertex i is the number of edges incident from i (i.e., the number of outgoing edges). e.g., outdegree(2) = 1, outdegree(8) = 2
  • 14. Graph Representation ● For graphs to be computationally useful, they have to be conveniently represented in programs ● There are two computer representations of graphs: ● Adjacency matrix representation ● Adjacency lists representation Graph 14
  • 15. ● Adjacency Matrix ● A square grid of boolean values ● If the graph contains N vertices, then the grid contains N rows and N columns ● For two vertices numbered I and J, the element at row I and column J is true if there is an edge from I to J, otherwise false Graph 15
  • 16. Adjacency Matrix Graph 16 1 2 3 0 4 0 1 2 3 4 0 false false true false false 1 false false false true false 2 false true false false true 3 false false false false false 4 false false false true false
  • 18. L23 18 Adjacency Matrix -Directed Multigraphs A: 1 2 34
  • 19. Adjacency Lists Representation ● A graph of n nodes is represented by a one- dimensional array L of linked lists, where ● L[i] is the linked list containing all the nodes adjacent from node i. ● The nodes in the list L[i] are in no particular order Graph 19
  • 20. Graph Graphs: Adjacency List ● Adjacency list: for each vertex v ∈ V, store a list of vertices adjacent to v ● Example: ● Adj[1] = {2,3} ● Adj[2] = {3} ● Adj[3] = {} ● Adj[4] = {3} ● Variation: can also keep a list of edges coming into vertex 1 2 4 3 20
  • 21. Graphs: Adjacency List ● How much storage is required? ● The degree of a vertex v = # incident edges ● Directed graphs have in-degree, out-degree ● For directed graphs, # of items in adjacency lists is Σ out-degree(v) = |E| For undirected graphs, # items in adjacency lists is Σ degree(v) = 2 |E| ● So: Adjacency lists take O(V+E) storage 21Graph
  • 23. Implementing Graphs ● (a) A weighted undirected graph and (b) its adjacency list