SlideShare a Scribd company logo
1 of 28
A graph G = (V,E) is
composed of:
• V: set of vertices(or points
or nodes)
• E: set of edges connecting
the vertices in v or
(A set E of edges
such that each edge e in E is
identified with a unique
(unordered) pair [u, v] of
nodes in V, denotes by e =
[u, v])
*
example=
V= {a,b,c,d,e}
E= {(a,b),(a,c),(a,d),
(b,e),(c,d),(c,e), (d,e)}
Graphs cont..
 If the element are in ordered pairs it is call directed graph.
 If the pairs represent the same edge it is known as undirected graph.
 Subgraph happened when every vertex include in other vertex and
every edge is include in other edge.
1 2
3 4
5
1 2
3 4
5
Some of the applications of graphs are :
• Mazes (using stacks)
• Networks (computer, cities ....)
• Maps (any geographic databases )
• Graphics : Geometrical Objects
• Neighborhood graphs
• Voronoi diagrams
Many geometrical objects such as cubes, polyhedral, and wire
frame car models, may be thought of as graphs. These graphs
are more than just nodes and edges. Their geometrical
structure must also be taken into account. For example
consider the cube:
• This structure contains three kinds of objects
• vertices
• edges
• faces
Edges are crucial since, in a three dimensional object, an edge
will always belong to only two faces and two nodes. For this
reason it makes sense to number the edges. Faces become
linked list of edges, and each edge lives in only two faces
 Adjacency Matrix Representation
 An adjacency matrix is one of the two common ways to represent a
graph.
 The adjacency matrix shows which nodes are adjacent to one another.
Two nodes are adjacent if there is an edge connecting them.
 In the case of a directed graph, if node j is adjacent to node i, there is
an edge from i to j. In other words, if j is adjacent to i, you can get from
i to j by traversing one edge.
 For a given graph with n nodes, the adjacency matrix will have
dimensions of n x n.
 For an unweighted graph, the adjacency matrix will be populated with
boolean values.
• For any given node i, you can determine its adjacent nodes
by looking at row of the adjacency matrix. A value of true at
indicates that there is an edge from node i to node j, and
false indicating no edge. In an undirected graph, the values
of and will be equal.
• In a weighted graph, the boolean values will be replaced by
the weight of the edge connecting the two nodes, with a
special value that indicates the absence of an edge.
• The memory use of an adjacency matrix is O(n2).
Adjacency Matrix
A B C D E
A 0 0 0 1 0
B 0 0 0 1 0
C 0 1 0 0 0
D 0 0 0 0 1
E 0 0 1 0 0
Adjacency List Representation
• One way to have the graph maintain a list of lists, in
which the first list is a list of indices corresponding to
each node in the graph.
• Each of these refer to another list that stores a the
index of each adjacent node to this one. It also useful to
associate the weight of each link with the adjacent node
in this list.
Example: An undirected graph contains four nodes 1, 2, 3
and 4. 1 is linked to 2 and 3. 2 is linked to 3. 3 is linked to
4.
1 - [2, 3]
2 - [1, 3]
3 - [1, 2, 4]
4 - [3]
Adjacency List Representation
• It useful to store the list of all the nodes in the
graph in a hash table. The keys then would
correspond to the indices of each node and the
value would be a reference to the list of adjacent
node indecies.
• Another implementation might require that each
node keep a list of its adjacent nodes.
Graph Traversal
•Problem: find a path between two
nodes of the graph (e.g., Austin
and Washington)
•Methods: Depth-First-Search (DFS)
or Breadth-First-Search (BFS)
• Start at vertex v, visit its neighbor w, then w's neighbor y and
keep going until reach 'a dead end' then iterate back and visit
nodes reachable from second last visited vertex and keep
applying the same principle.
• General algorithm:
for each vertex v in the graph
if v is not visited
start the depth first traversal at v
17
0 1 2 4
5
6
3
7
8
9
10
Directed graph G3
The depth first ordering of the vertices graph G3:
0 1 2 3 4 5 6 8 10 7 9
The general algorithm to do a depth first traversal at a
given
node v is:
1. Mark node v as visited
2. Visit the node
3. For each vertex u adjacent to v
if u is not visited
start the depth first traversal at u
Breadth-First Search (Queue)
Breadth first search visits the nodes neighbours and then the
univisited neighbours of the neighbours etc. If it starts on vertex a
it will go to all vertices that have an edge from a. If some points are
not reachable it will have to start another BFS from a new vertex.
Base on the same example in Depth-First Traversal :
0 1 2 3 4 5 6 8 10 7 9
Start the traversal at vertex 0. After visiting vertex 0 next visit the
vertices that are directly connected to it, that are 1 and 5. Next visit
the vertices that are directed connected to 1 and are not visit, that
is 2 and 3. Then visit vertices that directly connected to 5 and are
not visited, that is 6. Then continue to next path.
Breadth-First Search
The general algorithm:
a. for each vertex v in the graph
if v is not visited
add v to the queue // start the breadth first search at v
b. Mark v as visited
c. While the queue is not empty
c.1. Remove vertex u from the queue
c.2. Retrieve the vertices adjacent to u
c.3. for each vertex w that is adjacent to u
if w is not visited
c.3.1. Add w to the queue
c.3.2. Mark w as visited
• We may also want to associate some cost or weight to the traversal of an
edge. When we add this information, the graph is called weighted. An
example of a weighted graph would be the distance between the capitals of a
set of countries.
• Directed and undirected graphs may both be weighted. The operations on a
weighted graph are the same with addition of a weight parameter during edge
creation:
• Weighted Graph Operations (an extension of undirected/directed graph
operations)
• make-edge(vertex u, vertex v, weight w): edge
• Create an edge between u and v with weight w. In a directed graph, the edge
will flow from u to v.
• Weight graph also being used to find the shortest path.
Shortest Path
Shortest path A-B
is 2
Shortest path from
D to A is (DA) = 1
Shortest path from C
to A is (CBA) = 3
Shortest path from E to A is
(EDA) = 4
Shortest path from F to A is
(FCBA) = 5
Minimum Spanning Tree
25
A spanning tree of a graph is
just a subgraph that contains
all the vertices and is a tree.
A graph may have many
spanning trees; for instance
the complete graph on four
vertices
fom the figure of graph k4 ..it
has sixteen spanning trees:
26
Graph in data structure
Graph in data structure

More Related Content

What's hot (20)

Graphs in Data Structure
Graphs in Data StructureGraphs in Data Structure
Graphs in Data Structure
 
Graphs in data structures
Graphs in data structuresGraphs in data structures
Graphs in data structures
 
Graphs in data structure
Graphs in data structureGraphs in data structure
Graphs in data structure
 
Graphs
GraphsGraphs
Graphs
 
Data structure computer graphs
Data structure computer graphsData structure computer graphs
Data structure computer graphs
 
Graphs in Data Structure
 Graphs in Data Structure Graphs in Data Structure
Graphs in Data Structure
 
Data structure
Data structureData structure
Data structure
 
Graphs in c language
Graphs in c languageGraphs in c language
Graphs in c language
 
Data structure - Graph
Data structure - GraphData structure - Graph
Data structure - Graph
 
Graphss
GraphssGraphss
Graphss
 
Data Structure : Graph and Graph Traversing
Data Structure : Graph and Graph TraversingData Structure : Graph and Graph Traversing
Data Structure : Graph and Graph Traversing
 
Skiena algorithm 2007 lecture10 graph data strctures
Skiena algorithm 2007 lecture10 graph data strcturesSkiena algorithm 2007 lecture10 graph data strctures
Skiena algorithm 2007 lecture10 graph data strctures
 
Chapter9 graph data structure
Chapter9  graph data structureChapter9  graph data structure
Chapter9 graph data structure
 
Graph (Data structure)
Graph (Data structure) Graph (Data structure)
Graph (Data structure)
 
Graph data structure and algorithms
Graph data structure and algorithmsGraph data structure and algorithms
Graph data structure and algorithms
 
Lecture8 data structure(graph)
Lecture8 data structure(graph)Lecture8 data structure(graph)
Lecture8 data structure(graph)
 
Graphs In Data Structure
Graphs In Data StructureGraphs In Data Structure
Graphs In Data Structure
 
2.1 graph basic
2.1 graph basic 2.1 graph basic
2.1 graph basic
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 

Similar to Graph in data structure (20)

Lecture 5b graphs and hashing
Lecture 5b graphs and hashingLecture 5b graphs and hashing
Lecture 5b graphs and hashing
 
Unit-6 Graph.ppsx ppt
Unit-6 Graph.ppsx                                       pptUnit-6 Graph.ppsx                                       ppt
Unit-6 Graph.ppsx ppt
 
Unit V - ppt.pptx
Unit V - ppt.pptxUnit V - ppt.pptx
Unit V - ppt.pptx
 
UNIT III.pptx
UNIT III.pptxUNIT III.pptx
UNIT III.pptx
 
logic.pptx
logic.pptxlogic.pptx
logic.pptx
 
LEC 12-DSALGO-GRAPHS(final12).pdf
LEC 12-DSALGO-GRAPHS(final12).pdfLEC 12-DSALGO-GRAPHS(final12).pdf
LEC 12-DSALGO-GRAPHS(final12).pdf
 
Graph 1
Graph 1Graph 1
Graph 1
 
Unit 9 graph
Unit   9 graphUnit   9 graph
Unit 9 graph
 
Unit ix graph
Unit   ix    graph Unit   ix    graph
Unit ix graph
 
NON-LINEAR DATA STRUCTURE-Graphs.pptx
NON-LINEAR DATA STRUCTURE-Graphs.pptxNON-LINEAR DATA STRUCTURE-Graphs.pptx
NON-LINEAR DATA STRUCTURE-Graphs.pptx
 
10.graph
10.graph10.graph
10.graph
 
Graph Theory
Graph TheoryGraph Theory
Graph Theory
 
DATA STRUCTURES.pptx
DATA STRUCTURES.pptxDATA STRUCTURES.pptx
DATA STRUCTURES.pptx
 
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjteUnit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
Unit II_Graph.pptxkgjrekjgiojtoiejhgnltegjte
 
Class01_Computer_Contest_Level_3_Notes_Sep_07 - Copy.pdf
Class01_Computer_Contest_Level_3_Notes_Sep_07 - Copy.pdfClass01_Computer_Contest_Level_3_Notes_Sep_07 - Copy.pdf
Class01_Computer_Contest_Level_3_Notes_Sep_07 - Copy.pdf
 
Graphs
GraphsGraphs
Graphs
 
Graphs
GraphsGraphs
Graphs
 
Daa chpater 12
Daa chpater 12Daa chpater 12
Daa chpater 12
 
Graphs.pptx
Graphs.pptxGraphs.pptx
Graphs.pptx
 
358 33 powerpoint-slides_13-graphs_chapter-13
358 33 powerpoint-slides_13-graphs_chapter-13358 33 powerpoint-slides_13-graphs_chapter-13
358 33 powerpoint-slides_13-graphs_chapter-13
 

More from Pooja Bhojwani (16)

Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
 
Networking (osi model)
Networking (osi model)Networking (osi model)
Networking (osi model)
 
Java(inheritance)
Java(inheritance)Java(inheritance)
Java(inheritance)
 
Online Complaint of Society
Online Complaint of SocietyOnline Complaint of Society
Online Complaint of Society
 
gender bias
gender biasgender bias
gender bias
 
Pooja bhojwani
Pooja bhojwani Pooja bhojwani
Pooja bhojwani
 
Pooja bhojwani
Pooja bhojwani Pooja bhojwani
Pooja bhojwani
 
CAREER
CAREERCAREER
CAREER
 
Future scientists
Future scientistsFuture scientists
Future scientists
 
Around the world in 80 days
Around the world in 80 daysAround the world in 80 days
Around the world in 80 days
 
Os
OsOs
Os
 
C++
C++C++
C++
 
Dbms
DbmsDbms
Dbms
 
Evs presentation
Evs presentationEvs presentation
Evs presentation
 
organization behaviour
organization behaviourorganization behaviour
organization behaviour
 
nimboozs.ppt
nimboozs.pptnimboozs.ppt
nimboozs.ppt
 

Recently uploaded

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 

Recently uploaded (20)

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 

Graph in data structure

  • 1.
  • 2.
  • 3.
  • 4.
  • 5. A graph G = (V,E) is composed of: • V: set of vertices(or points or nodes) • E: set of edges connecting the vertices in v or (A set E of edges such that each edge e in E is identified with a unique (unordered) pair [u, v] of nodes in V, denotes by e = [u, v]) * example= V= {a,b,c,d,e} E= {(a,b),(a,c),(a,d), (b,e),(c,d),(c,e), (d,e)}
  • 6. Graphs cont..  If the element are in ordered pairs it is call directed graph.  If the pairs represent the same edge it is known as undirected graph.  Subgraph happened when every vertex include in other vertex and every edge is include in other edge. 1 2 3 4 5 1 2 3 4 5
  • 7. Some of the applications of graphs are : • Mazes (using stacks) • Networks (computer, cities ....) • Maps (any geographic databases ) • Graphics : Geometrical Objects • Neighborhood graphs • Voronoi diagrams
  • 8. Many geometrical objects such as cubes, polyhedral, and wire frame car models, may be thought of as graphs. These graphs are more than just nodes and edges. Their geometrical structure must also be taken into account. For example consider the cube: • This structure contains three kinds of objects • vertices • edges • faces Edges are crucial since, in a three dimensional object, an edge will always belong to only two faces and two nodes. For this reason it makes sense to number the edges. Faces become linked list of edges, and each edge lives in only two faces
  • 9.
  • 10.  Adjacency Matrix Representation  An adjacency matrix is one of the two common ways to represent a graph.  The adjacency matrix shows which nodes are adjacent to one another. Two nodes are adjacent if there is an edge connecting them.  In the case of a directed graph, if node j is adjacent to node i, there is an edge from i to j. In other words, if j is adjacent to i, you can get from i to j by traversing one edge.  For a given graph with n nodes, the adjacency matrix will have dimensions of n x n.  For an unweighted graph, the adjacency matrix will be populated with boolean values.
  • 11. • For any given node i, you can determine its adjacent nodes by looking at row of the adjacency matrix. A value of true at indicates that there is an edge from node i to node j, and false indicating no edge. In an undirected graph, the values of and will be equal. • In a weighted graph, the boolean values will be replaced by the weight of the edge connecting the two nodes, with a special value that indicates the absence of an edge. • The memory use of an adjacency matrix is O(n2).
  • 12. Adjacency Matrix A B C D E A 0 0 0 1 0 B 0 0 0 1 0 C 0 1 0 0 0 D 0 0 0 0 1 E 0 0 1 0 0
  • 13. Adjacency List Representation • One way to have the graph maintain a list of lists, in which the first list is a list of indices corresponding to each node in the graph. • Each of these refer to another list that stores a the index of each adjacent node to this one. It also useful to associate the weight of each link with the adjacent node in this list. Example: An undirected graph contains four nodes 1, 2, 3 and 4. 1 is linked to 2 and 3. 2 is linked to 3. 3 is linked to 4. 1 - [2, 3] 2 - [1, 3] 3 - [1, 2, 4] 4 - [3]
  • 14. Adjacency List Representation • It useful to store the list of all the nodes in the graph in a hash table. The keys then would correspond to the indices of each node and the value would be a reference to the list of adjacent node indecies. • Another implementation might require that each node keep a list of its adjacent nodes.
  • 15.
  • 16. Graph Traversal •Problem: find a path between two nodes of the graph (e.g., Austin and Washington) •Methods: Depth-First-Search (DFS) or Breadth-First-Search (BFS)
  • 17. • Start at vertex v, visit its neighbor w, then w's neighbor y and keep going until reach 'a dead end' then iterate back and visit nodes reachable from second last visited vertex and keep applying the same principle. • General algorithm: for each vertex v in the graph if v is not visited start the depth first traversal at v 17
  • 18. 0 1 2 4 5 6 3 7 8 9 10 Directed graph G3
  • 19. The depth first ordering of the vertices graph G3: 0 1 2 3 4 5 6 8 10 7 9 The general algorithm to do a depth first traversal at a given node v is: 1. Mark node v as visited 2. Visit the node 3. For each vertex u adjacent to v if u is not visited start the depth first traversal at u
  • 20. Breadth-First Search (Queue) Breadth first search visits the nodes neighbours and then the univisited neighbours of the neighbours etc. If it starts on vertex a it will go to all vertices that have an edge from a. If some points are not reachable it will have to start another BFS from a new vertex. Base on the same example in Depth-First Traversal : 0 1 2 3 4 5 6 8 10 7 9 Start the traversal at vertex 0. After visiting vertex 0 next visit the vertices that are directly connected to it, that are 1 and 5. Next visit the vertices that are directed connected to 1 and are not visit, that is 2 and 3. Then visit vertices that directly connected to 5 and are not visited, that is 6. Then continue to next path.
  • 21. Breadth-First Search The general algorithm: a. for each vertex v in the graph if v is not visited add v to the queue // start the breadth first search at v b. Mark v as visited c. While the queue is not empty c.1. Remove vertex u from the queue c.2. Retrieve the vertices adjacent to u c.3. for each vertex w that is adjacent to u if w is not visited c.3.1. Add w to the queue c.3.2. Mark w as visited
  • 22. • We may also want to associate some cost or weight to the traversal of an edge. When we add this information, the graph is called weighted. An example of a weighted graph would be the distance between the capitals of a set of countries. • Directed and undirected graphs may both be weighted. The operations on a weighted graph are the same with addition of a weight parameter during edge creation: • Weighted Graph Operations (an extension of undirected/directed graph operations) • make-edge(vertex u, vertex v, weight w): edge • Create an edge between u and v with weight w. In a directed graph, the edge will flow from u to v. • Weight graph also being used to find the shortest path.
  • 23.
  • 24. Shortest Path Shortest path A-B is 2 Shortest path from D to A is (DA) = 1 Shortest path from C to A is (CBA) = 3 Shortest path from E to A is (EDA) = 4 Shortest path from F to A is (FCBA) = 5
  • 25. Minimum Spanning Tree 25 A spanning tree of a graph is just a subgraph that contains all the vertices and is a tree. A graph may have many spanning trees; for instance the complete graph on four vertices fom the figure of graph k4 ..it has sixteen spanning trees:
  • 26. 26