SlideShare a Scribd company logo
DATA STRUCTURES USING C
(NCS-301)
SUBMITTED BY : MRS. SWETA SINGH
ASSISTANT PROFESSOR(CSE)
JIT BARABANKI(UP.)
UNIT - 4
GRAPHS
INTRODUCTION
• A GRAPH IS A MATHEMATICAL STRUCTURE CONSISTING OF A SET OF VERTICES (ALSO
CALLED NODES) {V1,V2,…,VN) AND A SET OF EDGES {E1,E2,…,EN}.
• AN EDGE IS A PAIR OF VERTICES {VI,VJ} I, J∈ {1…N}. THE TWO VERTICES ARE CALLED THE
EDGE ENDPOINTS.
• G = (V, E), WHERE V IS A SET AND E ⊆ V × V , A GRAPH MAY BE EITHER UNDIRECTED OR
DIRECTED.
• GRAPHS CAN BE CLASSIFIED BY WHETHER OR NOT THEIR EDGES HAVE WEIGHTS. IN
WEIGHTED GRAPH, EDGES HAVE A WEIGHT. WEIGHT TYPICALLY SHOWS COST OF
TRAVERSING
Fig1:Undirect Graph Fig2:Direct Graph
TERMINOLOGY
• · A GRAPH CONSISTS OF: A SET, V, OF VERTICES (NODES)
• · A COLLECTION, E, OF PAIRS OF VERTICES FROM V CALLED EDGES (ARCS)
• EDGES, ALSO CALLED ARCS, ARE REPRESENTED BY (U, V) AND ARE EITHER:
• DIRECTED IF THE PAIRS ARE ORDERED (U, V)
• U THE ORIGIN
• V THE DESTINATION
UNDIRECTED END-VERTICES OF AN EDGE ARE THE ENDPOINTS OF THE EDGE.
• TWO VERTICES ARE ADJACENT IF THEY ARE ENDPOINTS OF THE SAME EDGE.
• AN EDGE IS INCIDENT ON A VERTEX IF THE VERTEX IS AN ENDPOINT OF THE EDGE. OUTGOING EDGES OF A
VERTEX ARE DIRECTED EDGES THAT THE VERTEX IS THE ORIGIN.
• INCOMING EDGES OF A VERTEX ARE DIRECTED EDGES THAT THE VERTEX IS THE DESTINATION.
• DEGREE OF A VERTEX, V, DENOTED DEG(V) IS THE NUMBER OF INCIDENT EDGES.
• OUT-DEGREE, OUTDEG(V), IS THE NUMBER OF OUTGOING EDGES. IN-DEGREE, INDEG(V), IS THE NUMBER OF
INCOMING EDGES.
TERMINOLOGY
• PATH IS A SEQUENCE OF ALTERNATING VETCHES AND EDGES SUCH THAT EACH SUCCESSIVE
VERTEX IS CONNECTED BY THE EDGE. FREQUENTLY ONLY THE VERTICES ARE LISTED ESPECIALLY
IF THERE ARE NO PARALLEL EDGES.
• · CYCLE IS A PATH THAT STARTS AND END AT THE SAME VERTEX.
• · SIMPLE PATH IS A PATH WITH DISTINCT VERTICES.
• · DIRECTED PATH IS A PATH OF ONLY DIRECTED EDGES
• · DIRECTED CYCLE IS A CYCLE OF ONLY DIRECTED EDGES.
• · SUB-GRAPH IS A SUBSET OF VERTICES AND EDGES.
• · SPANNING SUB-GRAPH CONTAINS ALL THE VERTICES.
• · CONNECTED GRAPH HAS ALL PAIRS OF VERTICES CONNECTED BY AT LEAST ONE PATH.
• · CONNECTED COMPONENT IS THE MAXIMAL CONNECTED SUB-GRAPH OF A UNCONNECTED
GRAPH.
• · FOREST IS A GRAPH WITHOUT CYCLES.
• · TREE IS A CONNECTED FOREST (PREVIOUS TYPE OF TREES ARE CALLED ROOTED TREES, THESE
ARE FREE TREES)
GRAPH REPRESENTATIONS
• THERE ARE TWO STANDARD WAYS OF MAINTAINING A GRAPH G IN THE MEMORY OF A
COMPUTER.
1. THE SEQUENTIAL REPRESENTATION
2. THE LINKED REPRESENTATION
1. SEQUENTIAL REPRESENTATION OF GRAPHS
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 .
ADJACENCY MATRIX
• THE MEMORY USE OF AN ADJACENCY MATRIX IS O(N2).
• EXAMPLE UNDIRECTED GRAPH (ASSUME SELF-EDGES NOT ALLOWED):
• A B C D
• A 0 1 1 1
• B 1 0 ∞ 1
• C 1 ∞ 0 1
• D 1 1 1 0
EXAMPLE DIRECTED GRAPH (ASSUME SELF-EDGES ALLOWED):
• A B C D
• A ∞ 1 1 1
• B ∞ ∞ ∞ 1
• C ∞ ∞ ∞ ∞
• D ∞ ∞ 1 ∞
2.LINKED LIST REPRESENTATION OF
GRAPH
• ADJACENCY LIST REPRESENTATION
• THE ADJACENCY LIST IS ANOTHER COMMON REPRESENTATION OF A GRAPH. THERE ARE
MANY WAYS TO
IMPLEMENT THIS ADJACENCY REPRESENTATION.
• 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
• EXAMPLE (UNDIRECTED GRAPH):
• O A: B, C, D
• O B: A, D
• O C: A, D
• O D: A, B, C
Example (directed graph):
o A: B, C, D
o B: D
o C: Nil
o D:C
GRAPH TRAVERSAL
• GRAPH TRAVERSAL IS THE PROBLEM OF VISITING ALL THE NODES IN A GRAPH IN A
PARTICULAR MANNER,
• UPDATING AND/OR CHECKING THEIR VALUES ALONG THE WAY. THE ORDER IN WHICH THE
VERTICES ARE VISITED MAY BE IMPORTANT, AND MAY DEPEND UPON THE PARTICULAR
ALGORITHM.THE TWO COMMON TRAVERSALS:
• BREADTH-FIRST
• DEPTH-FIRST
BREADTH FIRST SEARCH
• THE BREAD-FIRST-SEARCH ALGORITHM STARTS AT A VERTEX AND VISITS, FIRST THE NEIGHBOURS OF ,
THEN THE NEIGHBOURS OF THE NEIGHBOURS OF , THEN THE NEIGHBOURS OF THE NEIGHBOURS OF
THE NEIGHBOURS OF , AND SO ON. THIS ALGORITHM IS A GENERALIZATION OF THE BREADTH-FIRST
TRAVERSAL ALGORITHM FOR BINARY TREES. IT USES A QUEUE.
• A BREADTH-FIRST SEARCH (BFS) EXPLORES NODES NEAREST THE ROOT BEFORE EXPLORING NODES
FURTHER AWAY FOR EXAMPLE, AFTER SEARCHING A, THEN B, THEN C, THE SEARCH PROCEEDS WITH
D, E, F, G NODE ARE EXPLORED IN THE ORDER A B C D E F G H I J K L M N O P Q J WILL BE FOUND
BEFORE N
• ALGORITHM_BFS
• 1. INITIALIZE AN ARRAY A AND A QUEUE Q.
• 2. READ THE VERTEX VI FROM WHICH YOU WANT TO START THE TRAVERSAL.
• 3. INITIALIZE THE INDEX OF THE ARRAY EQUAL TO 1 AT THE INDEX OF VI
• 4. INSERT THE VERTEX VI INTO THE QUEUE Q
• 5. VISIT THE VERTEX WHICH IS AT THE FRONT OF THE QUEUE. DELETE IT FROM THE QUEUE AND PLACE
ITS
• ADJACENT NODES IN THE QUEUE(IF AT THAT INDEX IN THE ARRAY THE ENTRY IS NOT EQUAL TO 1)
DEPTH FIRST SEARCH
• THE DEPTH-FIRST-SEARCH ALGORITHM IS SIMILAR TO THE STANDARD ALGORITHM FOR TRAVERSING BINARY
TREES; IT FIRST FULLY EXPLORES ONE SUBTREE BEFORE RETURNING TO THE CURRENT NODE AND THEN
EXPLORING THE OTHER SUBTREE. ANOTHER WAY TO THINK OF DEPTH-FIRST-SEARCH IS BY SAYING THAT IT
IS SIMILAR TO BREADTH-FIRST SEARCH EXCEPT THAT IT USES A STACK INSTEAD OF A QUEUE.
• EG. A DEPTH-FIRST SEARCH (DFS) EXPLORES A PATH ALL THE WAY TO A LEAF BEFORE BACKTRACKING AND
EXPLORING ANOTHER PATH FOR EXAMPLE, AFTER SEARCHING A, THEN B, THEN D, THE SEARCH
BACKTRACKS AND TRIES ANOTHER PATH FROM B NODE ARE EXPLORED IN THE ORDER A B D E H L M N I O P
C F G J K N WILL BE FOUND BEFORE J
• ALGORITHM_DFS
• 1. INITIALIZE AN ARRAY A AND A STACK S.
• 2. READ THE VERTEX VI FROM WHICH YOU WANT TO START THE TRAVERSAL.
• 3. INITIALIZE THE INDEX OF THE ARRAY EQUAL TO 1 AT THE INDEX OF VI
• 4. INSERT THE VERTEX VI INTO THE STACK S
• 5. VISIT THE VERTEX WHICH IS AT THE TOP OF THE STACK. DELETE IT FROM THE QUEUE AND PLACE ITS
• ADJACENT NODES IN THE STACK(IF AT THAT INDEX IN THE ARRAY THE ENTRY IS NOT EQUAL TO 1)
• 6. REPEAT STEP 5 TILL THE QUEUE Q IS EMPTY.
CONNECTED COMPONENT
• A CONNECTED COMPONENT (OR JUST COMPONENT) OF AN UNDIRECTED GRAPH IS A
SUB GRAPH IN WHICH ANY TWO VERTICES ARE CONNECTED TO EACH OTHER BY
PATHS, AND WHICH IS CONNECTED TO NO ADDITIONAL VERTICES IN THE SUPER
GRAPH.
SPANNING TREE
A spanning tree of a graph, G, is a set of |V|-1 edges that connect all vertices of
the graph . Thus a minimum spanning tree for G is a graph, T = (V’, E’) with the
following properties:
• V’ = V
• T is connected
• T is acyclic.
MINIMUM SPANNING TREE
• IT IS POSSIBLE TO CONSTRUCT MULTIPLE SPANNING TREES FOR A GRAPH, G. IF A COST,
CIJ, IS
• ASSOCIATED WITH EACH EDGE, EIJ = (VI,VJ), THEN THE MINIMUM SPANNING TREE IS THE
SET OF EDGES, ESPAN, FORMING A SPANNING TREE, SUCH THAT: C = SUM( CIJ | ALL EIJ IN
ESPAN) IS A MINIMUM.
TWO BASIC ALGORITHM REGARDING
MINIMUM SPANNING TREE
• KRUSKAL'S ALGORITHM AND
• PRIM'S ALGORITHM
• KRUSKAL'S ALGORITHM IS A GREEDY ALGORITHM IN GRAPH THEORY THAT FINDS A MINIMUM
SPANNING TREE FOR A CONNECTED WEIGHTED GRAPH. THIS MEANS IT FINDS A SUBSET OF THE
EDGES THAT FORMS A TREE THAT INCLUDES EVERY VERTEX, WHERE THE TOTAL WEIGHT OF
ALL THE EDGES IN THE TREE IS MINIMIZED.
• ALGORITHM
• 1. CREATE A FOREST F (A SET OF TREES), WHERE EACH VERTEX IN THE GRAPH IS A SEPARATE
TREE
• 2. CREATE A SET S CONTAINING ALL THE EDGES IN THE GRAPH
• 3. WHILE S IS NONEMPTY AND F IS NOT YET SPANNING
• 4. REMOVE AN EDGE WITH MINIMUM WEIGHT FROM S
• 5. IF THAT EDGE CONNECTS TWO DIFFERENT TREES, THEN ADD IT TO THE FOREST, COMBINING
TWO TREES INTO A SINGLE TREE
KRUSKAL'S ALGORITHM
Therefore The minimum cost is: 24
PRIM’S ALGORITHM
• THE PRIM’S ALGORITHM MAKES A NATURE CHOICE OF THE CUT IN EACH ITERATION – IT
GROWS A SINGLE TREE AND ADDS A LIGHT EDGE IN EACH ITERATION.
• ALGORITHM
• 1. INITIALIZE A TREE WITH A SINGLE VERTEX, CHOSEN ARBITRARILY FROM THE GRAPH.
• 2. GROW THE TREE BY ONE EDGE: OF THE EDGES THAT CONNECT THE TREE TO VERTICES
NOT YET IN THE TREE, FIND THE MINIMUM-WEIGHT EDGE, AND TRANSFER IT TO THE TREE.
• 3. REPEAT STEP 2 (UNTIL ALL VERTICES ARE IN THE TREE).EG.: USE PRIM’S ALGORITHM TO
FIND A MINIMUM SPANNING TREE IN THE FOLLOWING WEIGHTED GRAPH. USE
ALPHABETICAL ORDER TO BREAK TIES.
PRIM’S ALGORITHM
First we add edge {d, e} of weight 1. Next, we add edge {c, e} of weight 2. Next, we add edge {d, z}
of weight 2. Next, we add edge {b, e} of weight 3. And finally, we add edge {a, b} of weight 2.
TRANSITIVE CLOSURE
• TRANSITIVE CLOSURE OF A GRAPH
• GIVEN A DIRECTED GRAPH, FIND OUT IF A VERTEX J IS REACHABLE FROM ANOTHER VERTEX I FOR ALL
VERTEX PAIRS (I, J) IN THE GIVEN GRAPH. HERE REACHABLE MEAN THAT THERE IS A PATH FROM VERTEX I
TO J. THE REACH ABILITY MATRIX IS CALLED TRANSITIVE CLOSURE OF A GRAPH. THE GRAPH IS GIVEN IN
THE FORM OF ADJACENCY MATRIX SAY ‘GRAPH[V][V]‘ WHERE GRAPH[I][J] IS 1 IF THERE IS AN EDGE FROM
VERTEX I TO VERTEX J OR I IS EQUAL TO J, OTHERWISE GRAPH[I][J] IS 0.
• MAIN IDEA: A PATH EXISTS BETWEEN TWO VERTICES I, J, IFF
• THERE IS AN EDGE FROM I TO J; OR
• THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET
{VERTEX 1}; OR
• THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET
{VERTEX 1, 2}; OR
• THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET
{VERTEX 1, 2, … K-1};
• THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET
{VERTEX 1, 2, … K}; OR
SHORTEST PATH ALGORITHM
• THE SHORTEST PATH PROBLEM IS THE PROBLEM OF FINDING A PATH BETWEEN TWO
VERTICES (OR NODES) IN A GRAPH SUCH THAT THE SUM OF THE WEIGHTS OF ITS
CONSTITUENT EDGES IS MINIMIZED.
• THIS IS ANALOGOUS TO THE PROBLEM OF FINDING THE SHORTEST PATH BETWEEN TWO
INTERSECTIONS ON A ROAD MAP: THE GRAPH'S VERTICES CORRESPOND TO
INTERSECTIONS AND THE EDGES CORRESPOND TO ROAD SEGMENTS, EACH WEIGHTED
BY THE LENGTH OF ITS ROAD SEGMENT.
• THE MINIMAL SPANNING TREE PROBLEM IS TO SELECT A SET OF EDGES SO THAT THERE IS
A PATH BETWEEN EACH NODE. THE SUM OF THE EDGE LENGTHS IS TO BE MINIMIZED.
• THE SHORTEST PATH TREE PROBLEM IS TO FIND THE SET OF EDGES CONNECTING ALL
NODES SUCH THAT THE SUM OF THE EDGE LENGTHS FROM THE ROOT TO EACH NODE IS
MINIMIZED.
DIJIKSTRA ALGORITHM
• DJIKSTRA 'S ALGORITHM SOLVES THE PROBLEM OF FINDING THE SHORTEST PATH FROM A POINT IN A
GRAPH
• (THE SOURCE) TO A DESTINATION. IT TURNS OUT THAT ONE CAN FIND THE SHORTEST PATHS FROM A
GIVEN SOURCE TO ALL POINTS IN A GRAPH IN THE SAME TIME, HENCE THIS PROBLEM IS SOMETIMES
CALLED THE SINGLE SOURCE SHORTEST PATHS PROBLEM.
• STEPS OF THE ALGORITHM ARE
• 1. INITIAL
• SELECT THE ROOT NODE TO FORM THE SET S1. ASSIGN THE PATH LENGTH 0 TO THIS NODE. PUT ALL
OTHER NODES IN THE SET S2.
• 2. SELECTION
• COMPUTE THE LENGTHS OF THE PATHS TO ALL NODES DIRECTLY REACHABLE FROM S1 THROUGH A NODE
IN S1. SELECT THE NODE IN S2 WITH THE SMALLEST PATH LENGTH. LET THE EDGE CONNECTING THIS
NODE WITH S1 BE (I, J). ADD THIS EDGE TO THE SHORTEST PATH TREE. ADD NODE J TO THE SET S1 AND
DELETE IT FROM THE SET S2.
• 3. FINISH
DIJIKSTRA ALGORITHM
INTRODUCTION TO ACTIVITY
NETWORKS
• AN ACTIVITY NETWORK IS A DIRECTED GRAPH IN WHICH THE VERTICES REPRESENT
ACTIVITIES AND EDGES REPRESENT PRECEDENCE RELATION BETWEEN THE TASKS. THE
ACTIVITY NETWORK IS ALSO CALLED ACTIVITY ON VERTEX (AOV) NETWORK.
THANK YOU

More Related Content

PDF
conference_presentation (1)
PDF
My COSMION 2004 Slides
PDF
Mithfh lecturenotes 9
PPTX
UNIT III.pptx
PPT
Unit VI - Graphs.ppt
PDF
LEC 12-DSALGO-GRAPHS(final12).pdf
PDF
Unit-10 Graphs .pdf
conference_presentation (1)
My COSMION 2004 Slides
Mithfh lecturenotes 9
UNIT III.pptx
Unit VI - Graphs.ppt
LEC 12-DSALGO-GRAPHS(final12).pdf
Unit-10 Graphs .pdf

Similar to Unit 4 dsuc (20)

PPTX
130210107039 2130702
PPTX
UNIT II - Graph Algorithms techniques.pptx
PPTX
Graph Data Structure
PPTX
Depth first traversal(data structure algorithms)
PPTX
UNIT IV NON LINEAR DATA STRUCTURES - GRAPH.pptx
PPTX
Graph Algorithms
PPTX
Graph in data structure
PPSX
Design and analysis of Algorithms Lecture 1 (BFS, DFS).ppsx
PPTX
UNIT IV NON LINEAR DATA STRUCTURES - GRAPH
PPTX
ppt 1.pptx
PPTX
Graph Data Structure on social media analysis
PPTX
Graphs in data structure
PPT
Graphs
PPTX
Schelkunoff Polynomial Method for Antenna Synthesis
PPSX
Unit-6 Graph.ppsx ppt
PPTX
Graph Theory
PPTX
graphssssssssssssssssssssssssssssss.pptx
PPTX
Data Structures - Lecture 10 [Graphs]
PPTX
Presentation on Graph
130210107039 2130702
UNIT II - Graph Algorithms techniques.pptx
Graph Data Structure
Depth first traversal(data structure algorithms)
UNIT IV NON LINEAR DATA STRUCTURES - GRAPH.pptx
Graph Algorithms
Graph in data structure
Design and analysis of Algorithms Lecture 1 (BFS, DFS).ppsx
UNIT IV NON LINEAR DATA STRUCTURES - GRAPH
ppt 1.pptx
Graph Data Structure on social media analysis
Graphs in data structure
Graphs
Schelkunoff Polynomial Method for Antenna Synthesis
Unit-6 Graph.ppsx ppt
Graph Theory
graphssssssssssssssssssssssssssssss.pptx
Data Structures - Lecture 10 [Graphs]
Presentation on Graph
Ad

More from Sweta Singh (8)

PPTX
Unit 5 dbms
PPTX
Unit 3 dbms
PPTX
Unit 1 dbms
PPTX
Unit 4 dbms
PPTX
Unit 5 dsuc
PPTX
Unit 3 dsuc
PPTX
Unit 2 dsuc(Stacks and Queue)
PPTX
Unit 1 dsuc
Unit 5 dbms
Unit 3 dbms
Unit 1 dbms
Unit 4 dbms
Unit 5 dsuc
Unit 3 dsuc
Unit 2 dsuc(Stacks and Queue)
Unit 1 dsuc
Ad

Recently uploaded (20)

PDF
Soil Improvement Techniques Note - Rabbi
PDF
86236642-Electric-Loco-Shed.pdf jfkduklg
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PPTX
UNIT 4 Total Quality Management .pptx
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
Visual Aids for Exploratory Data Analysis.pdf
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PPTX
Current and future trends in Computer Vision.pptx
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PPT
Total quality management ppt for engineering students
PPTX
UNIT - 3 Total quality Management .pptx
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Soil Improvement Techniques Note - Rabbi
86236642-Electric-Loco-Shed.pdf jfkduklg
Abrasive, erosive and cavitation wear.pdf
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
UNIT 4 Total Quality Management .pptx
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Automation-in-Manufacturing-Chapter-Introduction.pdf
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Visual Aids for Exploratory Data Analysis.pdf
Exploratory_Data_Analysis_Fundamentals.pdf
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
Current and future trends in Computer Vision.pptx
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Total quality management ppt for engineering students
UNIT - 3 Total quality Management .pptx
III.4.1.2_The_Space_Environment.p pdffdf
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION

Unit 4 dsuc

  • 1. DATA STRUCTURES USING C (NCS-301) SUBMITTED BY : MRS. SWETA SINGH ASSISTANT PROFESSOR(CSE) JIT BARABANKI(UP.)
  • 3. INTRODUCTION • A GRAPH IS A MATHEMATICAL STRUCTURE CONSISTING OF A SET OF VERTICES (ALSO CALLED NODES) {V1,V2,…,VN) AND A SET OF EDGES {E1,E2,…,EN}. • AN EDGE IS A PAIR OF VERTICES {VI,VJ} I, J∈ {1…N}. THE TWO VERTICES ARE CALLED THE EDGE ENDPOINTS. • G = (V, E), WHERE V IS A SET AND E ⊆ V × V , A GRAPH MAY BE EITHER UNDIRECTED OR DIRECTED. • GRAPHS CAN BE CLASSIFIED BY WHETHER OR NOT THEIR EDGES HAVE WEIGHTS. IN WEIGHTED GRAPH, EDGES HAVE A WEIGHT. WEIGHT TYPICALLY SHOWS COST OF TRAVERSING Fig1:Undirect Graph Fig2:Direct Graph
  • 4. TERMINOLOGY • · A GRAPH CONSISTS OF: A SET, V, OF VERTICES (NODES) • · A COLLECTION, E, OF PAIRS OF VERTICES FROM V CALLED EDGES (ARCS) • EDGES, ALSO CALLED ARCS, ARE REPRESENTED BY (U, V) AND ARE EITHER: • DIRECTED IF THE PAIRS ARE ORDERED (U, V) • U THE ORIGIN • V THE DESTINATION UNDIRECTED END-VERTICES OF AN EDGE ARE THE ENDPOINTS OF THE EDGE. • TWO VERTICES ARE ADJACENT IF THEY ARE ENDPOINTS OF THE SAME EDGE. • AN EDGE IS INCIDENT ON A VERTEX IF THE VERTEX IS AN ENDPOINT OF THE EDGE. OUTGOING EDGES OF A VERTEX ARE DIRECTED EDGES THAT THE VERTEX IS THE ORIGIN. • INCOMING EDGES OF A VERTEX ARE DIRECTED EDGES THAT THE VERTEX IS THE DESTINATION. • DEGREE OF A VERTEX, V, DENOTED DEG(V) IS THE NUMBER OF INCIDENT EDGES. • OUT-DEGREE, OUTDEG(V), IS THE NUMBER OF OUTGOING EDGES. IN-DEGREE, INDEG(V), IS THE NUMBER OF INCOMING EDGES.
  • 5. TERMINOLOGY • PATH IS A SEQUENCE OF ALTERNATING VETCHES AND EDGES SUCH THAT EACH SUCCESSIVE VERTEX IS CONNECTED BY THE EDGE. FREQUENTLY ONLY THE VERTICES ARE LISTED ESPECIALLY IF THERE ARE NO PARALLEL EDGES. • · CYCLE IS A PATH THAT STARTS AND END AT THE SAME VERTEX. • · SIMPLE PATH IS A PATH WITH DISTINCT VERTICES. • · DIRECTED PATH IS A PATH OF ONLY DIRECTED EDGES • · DIRECTED CYCLE IS A CYCLE OF ONLY DIRECTED EDGES. • · SUB-GRAPH IS A SUBSET OF VERTICES AND EDGES. • · SPANNING SUB-GRAPH CONTAINS ALL THE VERTICES. • · CONNECTED GRAPH HAS ALL PAIRS OF VERTICES CONNECTED BY AT LEAST ONE PATH. • · CONNECTED COMPONENT IS THE MAXIMAL CONNECTED SUB-GRAPH OF A UNCONNECTED GRAPH. • · FOREST IS A GRAPH WITHOUT CYCLES. • · TREE IS A CONNECTED FOREST (PREVIOUS TYPE OF TREES ARE CALLED ROOTED TREES, THESE ARE FREE TREES)
  • 6. GRAPH REPRESENTATIONS • THERE ARE TWO STANDARD WAYS OF MAINTAINING A GRAPH G IN THE MEMORY OF A COMPUTER. 1. THE SEQUENTIAL REPRESENTATION 2. THE LINKED REPRESENTATION 1. SEQUENTIAL REPRESENTATION OF GRAPHS 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 .
  • 7. ADJACENCY MATRIX • THE MEMORY USE OF AN ADJACENCY MATRIX IS O(N2). • EXAMPLE UNDIRECTED GRAPH (ASSUME SELF-EDGES NOT ALLOWED): • A B C D • A 0 1 1 1 • B 1 0 ∞ 1 • C 1 ∞ 0 1 • D 1 1 1 0 EXAMPLE DIRECTED GRAPH (ASSUME SELF-EDGES ALLOWED): • A B C D • A ∞ 1 1 1 • B ∞ ∞ ∞ 1 • C ∞ ∞ ∞ ∞ • D ∞ ∞ 1 ∞
  • 8. 2.LINKED LIST REPRESENTATION OF GRAPH • ADJACENCY LIST REPRESENTATION • THE ADJACENCY LIST IS ANOTHER COMMON REPRESENTATION OF A GRAPH. THERE ARE MANY WAYS TO IMPLEMENT THIS ADJACENCY REPRESENTATION. • 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]
  • 9. ADJACENCY LIST REPRESENTATION • EXAMPLE (UNDIRECTED GRAPH): • O A: B, C, D • O B: A, D • O C: A, D • O D: A, B, C Example (directed graph): o A: B, C, D o B: D o C: Nil o D:C
  • 10. GRAPH TRAVERSAL • GRAPH TRAVERSAL IS THE PROBLEM OF VISITING ALL THE NODES IN A GRAPH IN A PARTICULAR MANNER, • UPDATING AND/OR CHECKING THEIR VALUES ALONG THE WAY. THE ORDER IN WHICH THE VERTICES ARE VISITED MAY BE IMPORTANT, AND MAY DEPEND UPON THE PARTICULAR ALGORITHM.THE TWO COMMON TRAVERSALS: • BREADTH-FIRST • DEPTH-FIRST
  • 11. BREADTH FIRST SEARCH • THE BREAD-FIRST-SEARCH ALGORITHM STARTS AT A VERTEX AND VISITS, FIRST THE NEIGHBOURS OF , THEN THE NEIGHBOURS OF THE NEIGHBOURS OF , THEN THE NEIGHBOURS OF THE NEIGHBOURS OF THE NEIGHBOURS OF , AND SO ON. THIS ALGORITHM IS A GENERALIZATION OF THE BREADTH-FIRST TRAVERSAL ALGORITHM FOR BINARY TREES. IT USES A QUEUE. • A BREADTH-FIRST SEARCH (BFS) EXPLORES NODES NEAREST THE ROOT BEFORE EXPLORING NODES FURTHER AWAY FOR EXAMPLE, AFTER SEARCHING A, THEN B, THEN C, THE SEARCH PROCEEDS WITH D, E, F, G NODE ARE EXPLORED IN THE ORDER A B C D E F G H I J K L M N O P Q J WILL BE FOUND BEFORE N • ALGORITHM_BFS • 1. INITIALIZE AN ARRAY A AND A QUEUE Q. • 2. READ THE VERTEX VI FROM WHICH YOU WANT TO START THE TRAVERSAL. • 3. INITIALIZE THE INDEX OF THE ARRAY EQUAL TO 1 AT THE INDEX OF VI • 4. INSERT THE VERTEX VI INTO THE QUEUE Q • 5. VISIT THE VERTEX WHICH IS AT THE FRONT OF THE QUEUE. DELETE IT FROM THE QUEUE AND PLACE ITS • ADJACENT NODES IN THE QUEUE(IF AT THAT INDEX IN THE ARRAY THE ENTRY IS NOT EQUAL TO 1)
  • 12. DEPTH FIRST SEARCH • THE DEPTH-FIRST-SEARCH ALGORITHM IS SIMILAR TO THE STANDARD ALGORITHM FOR TRAVERSING BINARY TREES; IT FIRST FULLY EXPLORES ONE SUBTREE BEFORE RETURNING TO THE CURRENT NODE AND THEN EXPLORING THE OTHER SUBTREE. ANOTHER WAY TO THINK OF DEPTH-FIRST-SEARCH IS BY SAYING THAT IT IS SIMILAR TO BREADTH-FIRST SEARCH EXCEPT THAT IT USES A STACK INSTEAD OF A QUEUE. • EG. A DEPTH-FIRST SEARCH (DFS) EXPLORES A PATH ALL THE WAY TO A LEAF BEFORE BACKTRACKING AND EXPLORING ANOTHER PATH FOR EXAMPLE, AFTER SEARCHING A, THEN B, THEN D, THE SEARCH BACKTRACKS AND TRIES ANOTHER PATH FROM B NODE ARE EXPLORED IN THE ORDER A B D E H L M N I O P C F G J K N WILL BE FOUND BEFORE J • ALGORITHM_DFS • 1. INITIALIZE AN ARRAY A AND A STACK S. • 2. READ THE VERTEX VI FROM WHICH YOU WANT TO START THE TRAVERSAL. • 3. INITIALIZE THE INDEX OF THE ARRAY EQUAL TO 1 AT THE INDEX OF VI • 4. INSERT THE VERTEX VI INTO THE STACK S • 5. VISIT THE VERTEX WHICH IS AT THE TOP OF THE STACK. DELETE IT FROM THE QUEUE AND PLACE ITS • ADJACENT NODES IN THE STACK(IF AT THAT INDEX IN THE ARRAY THE ENTRY IS NOT EQUAL TO 1) • 6. REPEAT STEP 5 TILL THE QUEUE Q IS EMPTY.
  • 13. CONNECTED COMPONENT • A CONNECTED COMPONENT (OR JUST COMPONENT) OF AN UNDIRECTED GRAPH IS A SUB GRAPH IN WHICH ANY TWO VERTICES ARE CONNECTED TO EACH OTHER BY PATHS, AND WHICH IS CONNECTED TO NO ADDITIONAL VERTICES IN THE SUPER GRAPH. SPANNING TREE A spanning tree of a graph, G, is a set of |V|-1 edges that connect all vertices of the graph . Thus a minimum spanning tree for G is a graph, T = (V’, E’) with the following properties: • V’ = V • T is connected • T is acyclic.
  • 14. MINIMUM SPANNING TREE • IT IS POSSIBLE TO CONSTRUCT MULTIPLE SPANNING TREES FOR A GRAPH, G. IF A COST, CIJ, IS • ASSOCIATED WITH EACH EDGE, EIJ = (VI,VJ), THEN THE MINIMUM SPANNING TREE IS THE SET OF EDGES, ESPAN, FORMING A SPANNING TREE, SUCH THAT: C = SUM( CIJ | ALL EIJ IN ESPAN) IS A MINIMUM.
  • 15. TWO BASIC ALGORITHM REGARDING MINIMUM SPANNING TREE • KRUSKAL'S ALGORITHM AND • PRIM'S ALGORITHM • KRUSKAL'S ALGORITHM IS A GREEDY ALGORITHM IN GRAPH THEORY THAT FINDS A MINIMUM SPANNING TREE FOR A CONNECTED WEIGHTED GRAPH. THIS MEANS IT FINDS A SUBSET OF THE EDGES THAT FORMS A TREE THAT INCLUDES EVERY VERTEX, WHERE THE TOTAL WEIGHT OF ALL THE EDGES IN THE TREE IS MINIMIZED. • ALGORITHM • 1. CREATE A FOREST F (A SET OF TREES), WHERE EACH VERTEX IN THE GRAPH IS A SEPARATE TREE • 2. CREATE A SET S CONTAINING ALL THE EDGES IN THE GRAPH • 3. WHILE S IS NONEMPTY AND F IS NOT YET SPANNING • 4. REMOVE AN EDGE WITH MINIMUM WEIGHT FROM S • 5. IF THAT EDGE CONNECTS TWO DIFFERENT TREES, THEN ADD IT TO THE FOREST, COMBINING TWO TREES INTO A SINGLE TREE
  • 16. KRUSKAL'S ALGORITHM Therefore The minimum cost is: 24
  • 17. PRIM’S ALGORITHM • THE PRIM’S ALGORITHM MAKES A NATURE CHOICE OF THE CUT IN EACH ITERATION – IT GROWS A SINGLE TREE AND ADDS A LIGHT EDGE IN EACH ITERATION. • ALGORITHM • 1. INITIALIZE A TREE WITH A SINGLE VERTEX, CHOSEN ARBITRARILY FROM THE GRAPH. • 2. GROW THE TREE BY ONE EDGE: OF THE EDGES THAT CONNECT THE TREE TO VERTICES NOT YET IN THE TREE, FIND THE MINIMUM-WEIGHT EDGE, AND TRANSFER IT TO THE TREE. • 3. REPEAT STEP 2 (UNTIL ALL VERTICES ARE IN THE TREE).EG.: USE PRIM’S ALGORITHM TO FIND A MINIMUM SPANNING TREE IN THE FOLLOWING WEIGHTED GRAPH. USE ALPHABETICAL ORDER TO BREAK TIES.
  • 18. PRIM’S ALGORITHM First we add edge {d, e} of weight 1. Next, we add edge {c, e} of weight 2. Next, we add edge {d, z} of weight 2. Next, we add edge {b, e} of weight 3. And finally, we add edge {a, b} of weight 2.
  • 19. TRANSITIVE CLOSURE • TRANSITIVE CLOSURE OF A GRAPH • GIVEN A DIRECTED GRAPH, FIND OUT IF A VERTEX J IS REACHABLE FROM ANOTHER VERTEX I FOR ALL VERTEX PAIRS (I, J) IN THE GIVEN GRAPH. HERE REACHABLE MEAN THAT THERE IS A PATH FROM VERTEX I TO J. THE REACH ABILITY MATRIX IS CALLED TRANSITIVE CLOSURE OF A GRAPH. THE GRAPH IS GIVEN IN THE FORM OF ADJACENCY MATRIX SAY ‘GRAPH[V][V]‘ WHERE GRAPH[I][J] IS 1 IF THERE IS AN EDGE FROM VERTEX I TO VERTEX J OR I IS EQUAL TO J, OTHERWISE GRAPH[I][J] IS 0. • MAIN IDEA: A PATH EXISTS BETWEEN TWO VERTICES I, J, IFF • THERE IS AN EDGE FROM I TO J; OR • THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET {VERTEX 1}; OR • THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET {VERTEX 1, 2}; OR • THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET {VERTEX 1, 2, … K-1}; • THERE IS A PATH FROM I TO J GOING THROUGH INTERMEDIATE VERTICES WHICH ARE DRAWN FROM SET {VERTEX 1, 2, … K}; OR
  • 20. SHORTEST PATH ALGORITHM • THE SHORTEST PATH PROBLEM IS THE PROBLEM OF FINDING A PATH BETWEEN TWO VERTICES (OR NODES) IN A GRAPH SUCH THAT THE SUM OF THE WEIGHTS OF ITS CONSTITUENT EDGES IS MINIMIZED. • THIS IS ANALOGOUS TO THE PROBLEM OF FINDING THE SHORTEST PATH BETWEEN TWO INTERSECTIONS ON A ROAD MAP: THE GRAPH'S VERTICES CORRESPOND TO INTERSECTIONS AND THE EDGES CORRESPOND TO ROAD SEGMENTS, EACH WEIGHTED BY THE LENGTH OF ITS ROAD SEGMENT. • THE MINIMAL SPANNING TREE PROBLEM IS TO SELECT A SET OF EDGES SO THAT THERE IS A PATH BETWEEN EACH NODE. THE SUM OF THE EDGE LENGTHS IS TO BE MINIMIZED. • THE SHORTEST PATH TREE PROBLEM IS TO FIND THE SET OF EDGES CONNECTING ALL NODES SUCH THAT THE SUM OF THE EDGE LENGTHS FROM THE ROOT TO EACH NODE IS MINIMIZED.
  • 21. DIJIKSTRA ALGORITHM • DJIKSTRA 'S ALGORITHM SOLVES THE PROBLEM OF FINDING THE SHORTEST PATH FROM A POINT IN A GRAPH • (THE SOURCE) TO A DESTINATION. IT TURNS OUT THAT ONE CAN FIND THE SHORTEST PATHS FROM A GIVEN SOURCE TO ALL POINTS IN A GRAPH IN THE SAME TIME, HENCE THIS PROBLEM IS SOMETIMES CALLED THE SINGLE SOURCE SHORTEST PATHS PROBLEM. • STEPS OF THE ALGORITHM ARE • 1. INITIAL • SELECT THE ROOT NODE TO FORM THE SET S1. ASSIGN THE PATH LENGTH 0 TO THIS NODE. PUT ALL OTHER NODES IN THE SET S2. • 2. SELECTION • COMPUTE THE LENGTHS OF THE PATHS TO ALL NODES DIRECTLY REACHABLE FROM S1 THROUGH A NODE IN S1. SELECT THE NODE IN S2 WITH THE SMALLEST PATH LENGTH. LET THE EDGE CONNECTING THIS NODE WITH S1 BE (I, J). ADD THIS EDGE TO THE SHORTEST PATH TREE. ADD NODE J TO THE SET S1 AND DELETE IT FROM THE SET S2. • 3. FINISH
  • 23. INTRODUCTION TO ACTIVITY NETWORKS • AN ACTIVITY NETWORK IS A DIRECTED GRAPH IN WHICH THE VERTICES REPRESENT ACTIVITIES AND EDGES REPRESENT PRECEDENCE RELATION BETWEEN THE TASKS. THE ACTIVITY NETWORK IS ALSO CALLED ACTIVITY ON VERTEX (AOV) NETWORK.