Design and Analysis of Algorithms

Size: px
Start display at page:

Download "Design and Analysis of Algorithms"

Transcription

1 S 101, Winter 2018 esign and nalysis of lgorithms Lecture 3: onnected omponents lass URL:

2 nd of Lecture 2: s, Topological Order irected cyclic raph.g., Vertices = tasks; irected dges = dependencies cyclic: no solution if there s a cycle of dependencies Terminology: sources and sinks The vertex with largest post number has no incoming edges (we call this vertex a source ) vertex with smallest post number has no outgoing edges (we call this vertex a sink ) act: n a, every edge leads to a vertex with lower post number rom last time: edge (u,v) with post(v) > post(u) is a back edge. ut a has no cycles no back edges

3 Topological Ordering of a TOP_ORR PROLM: iven a = (V,) with V =n, assign labels 1,...,n to v i V such that every edge is from a lower label to a higher label nductive thinking ny always has a vertex with indegree = 0 ( source ) ive this vertex the next label, delete vertex and its edges, keep doing this to get a topological ordering S-based algorithm: Run S, then perform tasks (label vertices) in decreasing order of post numbers ecause in a, every edge leads to a vertex with lower post number

4 onnectivity and onnected omponents 1,10 11,22 23,24 K L 2,3 1 4,9 5,8 6,7 14,17 K 15, ,21 13,20 L 18,19 3 Undirected ase: onnected components found by S

5 What is onnectivity in a irected raph? s this digraph (= another term for directed graph ) connected?.g., can t reach from L Only one sensible definition efinition: u is connected to w iff there is a path from u to w and a path from w to u With this definition, we partition V into strongly connected components

6 Strongly onnected omponents s this digraph (= another term for directed graph ) connected?.g., can t reach from L Only one sensible definition efinition: u is connected to w iff there is a path from u to w and a path from w to u With this definition, we partition V into strongly connected components xample shown (igure 3.9(a)): 5 S s

7 What s onnectivity etween S s? Meta-graph Shrink each S to a meta-node Put a directed edge from one metanode to another if there is an edge in that direction between any of their respective vertices The Meta-raph

8 igraph as a Over ts S s Meta-graph Shrink each S to a meta-node Put a directed edge from one metanode to another if there is an edge in that direction between any of their respective vertices The meta-graph is a WY? very directed graph is the of its strongly connected components We have a two-tiered connectivity structure of directed graph: oarse = Top-level ; ine = nside a meta-node / S

9 inding S s in irected raphs oal: n algorithm for finding S s in directed graphs. act 1: f the explore subroutine is started at node u, it will terminate when all nodes reachable from u have been visited. onsequence: f we start in a sink S, then we will identify precisely that S : (1) ind a node that is guaranteed to be in a sink S (2) fter identifying a sink S, somehow continue

10 What Node is uaranteed to e in a Sink S? act 2: Run S on. The node with highest post number lies in a source S. Why? act 3: f, are S s and there is an edge from to, then the highest post number in is larger than the highest post number in. act 3 implies act 2

11 What Node is uaranteed to e in a Sink S? act 2: Run S on. The node with highest post number lies in a source S. Why? act 3: f, are S s and there is an edge from to, then the highest post number in is larger than the highest post number in. ase 1: S sees before. The first node visited in will have higher post number than any node in.

12 What Node is uaranteed to e in a Sink S? act 2: Run S on. The node with highest post number lies in a source S. Why? act 3: f, are S s and there is an edge from to, then the highest post number in is larger than the highest post number in. ase 2: S sees before. S will get stuck after seeing all of but before seeing any node of.

13 Topological Ordering of S s act 2: Run S on. The node with highest post number lies in a source S. Why? act 3: f, are S s and there is an edge from to, then the highest post number in is larger than the highest post number in. S s can be topologically sorted by arranging them in decreasing order of their highest post numbers = eneralization of earlier algorithm for topological ordering. (n, each S is a singleton node.)

14 (Recall) : ack To inding S s (1) ind a node that is guaranteed to be in a sink S (2) fter identifying a sink S, somehow continue efinition: reverse graph R = same as, with edges reversed Source S in R = sink S in o S on R, pick node with highest post number This node is in a sink S of

15 (Recall) : ack To inding S s (1) ind a node that is guaranteed to be in a sink S (2) fter identifying a sink S, somehow continue dentify sink S, delete it from graph Of remaining nodes, the one with highest post number will be in a sink S of whatever is left of

16 lgorithm for inding S s in igraph (Recall) : (1) ind a node that is guaranteed to be in a sink S (2) fter identifying a sink S, somehow continue lgorithm Run S on R for v V in decreasing order of post numbers if not visited[v] explore(,v) output nodes seen as a S

17 S xample Meta-graph: 2 source S s, 1 sink S

18 S xample R onstruct reverse graph R

19 S xample 1,2 3,4 5,20 12,13 9,10 6,17 18,19 11,14 8,15 7,16 R Run S on R (lexicographic tie-breaking)

20 S xample 1,2 3,4 5,20 12,13 9,10 6,17 18,19 11,14 8,15 R 7,16 Run S on in order of decreasing POST numbers from R

21 S xample 1,2 3,4 5,20 12,13 9,10 6,17 18,19 11,14 8,15 R 7,16 Run S on in order of decreasing POST numbers from R

22 S xample 1,2 3,4 5,20 12,13 9,10 6,17 18,19 11,14 8,15 R 7,16 Run S on in order of decreasing POST numbers from R

23 S xample 1,2 3,4 5,20 12,13 9,10 6,17 18,19 11,14 8,15 R 7,16 xercise: What happens when you run this algorithm on a? Run S on in order of decreasing POST numbers from R

24 xamples 1

25 xamples 2

26 xamples 3

CSE 101- Winter 18 Discussion Section Week 2

CSE 101- Winter 18 Discussion Section Week 2 S 101- Winter 18 iscussion Section Week 2 Topics Topological ordering Strongly connected components Binary search ntroduction to ivide and onquer algorithms Topological ordering Topological ordering =>

More information

Strongly Connected Components. Andreas Klappenecker

Strongly Connected Components. Andreas Klappenecker Strongly Connected Components Andreas Klappenecker Undirected Graphs An undirected graph that is not connected decomposes into several connected components. Finding the connected components is easily solved

More information

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search IS 320 Introduction to lgorithms all 2014 Lecture 15 epth irst Search 1 Traversing raphs Systematic search of every edge and vertex of graph (directed or undirected) fficiency: each edge is visited no

More information

Depth First Search (DFS)

Depth First Search (DFS) Algorithms & Models of Computation CS/ECE 374, Fall 2017 epth First Search (FS) Lecture 1 Thursday, October 2, 2017 Today Two topics: Structure of directed graphs FS and its properties One application

More information

DFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4)

DFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4) S on irected Graphs OS OR JK SO LX W MI irected Graphs S 1.3 1 Outline and Reading ( 6.4) Reachability ( 6.4.1) irected S Strong connectivity irected cyclic Graphs (G s) ( 6.4.4) Topological Sorting irected

More information

Analysis of Algorithms Prof. Karen Daniels

Analysis of Algorithms Prof. Karen Daniels UMass Lowell omputer Science 91.404 nalysis of lgorithms Prof. Karen aniels Spring, 2013 hapter 22: raph lgorithms & rief Introduction to Shortest Paths [Source: ormen et al. textbook except where noted]

More information

Graphs: Connectivity. A graph. Transportation systems. Social networks

Graphs: Connectivity. A graph. Transportation systems. Social networks graph raphs: onnectivity ordi ortadella and ordi Petit epartment of omputer Science Source: Wikipedia The network graph formed by Wikipedia editors (edges) contributing to different Wikipedia language

More information

Note. Out of town Thursday afternoon. Willing to meet before 1pm, me if you want to meet then so I know to be in my office

Note. Out of town Thursday afternoon. Willing to meet before 1pm,  me if you want to meet then so I know to be in my office raphs and Trees Note Out of town Thursday afternoon Willing to meet before pm, email me if you want to meet then so I know to be in my office few extra remarks about recursion If you can write it recursively

More information

What are graphs? (Take 1)

What are graphs? (Take 1) Lecture 22: Let s Get Graphic Graph lgorithms Today s genda: What is a graph? Some graphs that you already know efinitions and Properties Implementing Graphs Topological Sort overed in hapter 9 of the

More information

Depth-first search in undirected graphs What parts of the graph are reachable from a given vertex?

Depth-first search in undirected graphs What parts of the graph are reachable from a given vertex? Why graphs? Chapter 3. Decompositions of graphs Awiderangeofproblemscanbeexpressedwithclarityandprecisionin the concise pictorial language of graphs. Graph coloring. Graph connectivity and reachability.

More information

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis TOM 50: Networking Theory & undamentals Lecture pril 6, 2003 Prof. Yannis. Korilis 2 Topics Routing in ata Network Graph Representation of a Network Undirected Graphs Spanning Trees and Minimum Weight

More information

Algorithms (VII) Yijia Chen Shanghai Jiaotong University

Algorithms (VII) Yijia Chen Shanghai Jiaotong University Algorithms (VII) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Depth-first search in undirected graphs Exploring graphs explore(g, v) Input: G = (V, E) is a graph; v V Output:

More information

Algorithms (VII) Yijia Chen Shanghai Jiaotong University

Algorithms (VII) Yijia Chen Shanghai Jiaotong University Algorithms (VII) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Depth-first search in undirected graphs Exploring graphs explore(g, v) Input: G = (V, E) is a graph; v V Output:

More information

Topological Sort. CSE 373 Data Structures Lecture 19

Topological Sort. CSE 373 Data Structures Lecture 19 Topological Sort S 373 ata Structures Lecture 19 Readings and References Reading Section 9.2 Some slides based on: S 326 by S. Wolfman, 2000 11/27/02 Topological Sort - Lecture 19 2 Topological Sort 142

More information

Lesson 4.2. Critical Paths

Lesson 4.2. Critical Paths Lesson. ritical Paths It is relatively easy to find the shortest time needed to complete a project if the project consists of only a few activities. ut as the tasks increase in number, the problem becomes

More information

CSE 101. Algorithm Design and Analysis Miles Jones and Russell Impagliazzo Miles Office 4208 CSE Building

CSE 101. Algorithm Design and Analysis Miles Jones and Russell Impagliazzo  Miles Office 4208 CSE Building CSE 101 Algorithm Design and Analysis Miles Jones and Russell Impagliazzo mej016@eng.ucsd.edu russell@cs.ucsd.edu Miles Office 4208 CSE Building Russell s Office: 4248 CSE Building procedure DFS(G) cc

More information

Decompositions of graphs

Decompositions of graphs hapter 3 ecompositions of graphs 3.1 Why graphs? wide range of problems can be expressed with clarity and precision in the concise pictorial language of graphs. or instance, consider the task of coloring

More information

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed.

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed. igraphs ( 12.4) irected Graphs OR OS digraph is a graph whose edges are all directed Short for directed graph pplications one- way streets flights task scheduling irected Graphs 1 irected Graphs 2 igraph

More information

CS483 Design and Analysis of Algorithms

CS483 Design and Analysis of Algorithms CS483 Design and Analysis of Algorithms Lecture 9 Decompositions of Graphs Instructor: Fei Li lifei@cs.gmu.edu with subject: CS483 Office hours: STII, Room 443, Friday 4:00pm - 6:00pm or by appointments

More information

Reading. Graph Introduction. What are graphs? Graphs. Motivation for Graphs. Varieties. Reading. CSE 373 Data Structures Lecture 18

Reading. Graph Introduction. What are graphs? Graphs. Motivation for Graphs. Varieties. Reading. CSE 373 Data Structures Lecture 18 Reading Graph Introduction Reading Section 9.1 S 373 ata Structures Lecture 18 11/25/02 Graph Introduction - Lecture 18 2 What are graphs? Yes, this is a graph. Graphs Graphs are composed of Nodes (vertices)

More information

Lecture 4 Greedy algorithms

Lecture 4 Greedy algorithms dvanced lgorithms loriano Zini ree University of ozen-olzano aculty of omputer Science cademic Year 203-20 Lecture Greedy algorithms hess vs Scrabble In chess the player must think ahead winning strategy

More information

3.1 Basic Definitions and Applications

3.1 Basic Definitions and Applications Graphs hapter hapter Graphs. Basic efinitions and Applications Graph. G = (V, ) n V = nodes. n = edges between pairs of nodes. n aptures pairwise relationship between objects: Undirected graph represents

More information

Overview. CSE 548: (Design and) Analysis of Algorithms. Definition and Representations

Overview. CSE 548: (Design and) Analysis of Algorithms. Definition and Representations Overview Overview S 548: (esign and) nalysis of lgorithms raphs R. Sekar raphs provide a concise representation of a range problems Map coloring more generally, resource contention problems Figure Networks

More information

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP)

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP) Spanning Tree (015) Lecture1: Graph III ohyung Han S, POSTH bhhan@postech.ac.kr efinition and property Subgraph that contains all vertices of the original graph and is a tree Often, a graph has many different

More information

Spanning Trees. CSE373: Data Structures & Algorithms Lecture 17: Minimum Spanning Trees. Motivation. Observations. Spanning tree via DFS

Spanning Trees. CSE373: Data Structures & Algorithms Lecture 17: Minimum Spanning Trees. Motivation. Observations. Spanning tree via DFS Spanning Trees S: ata Structures & lgorithms Lecture : Minimum Spanning Trees simple problem: iven a connected undirected graph =(V,), find a minimal subset of edges such that is still connected graph

More information

These definitions cover some basic terms and concepts of graph theory and how they have been implemented as C++ classes.

These definitions cover some basic terms and concepts of graph theory and how they have been implemented as C++ classes. hapter 5. raph Theory *raph Theory, *Mathematics raph theory is an area of mathematics which has been incorporated into IS to solve some specific problems in oolean operations and sweeping. It may be also

More information

Data Structures Lecture 14

Data Structures Lecture 14 Fall 2018 Fang Yu Software Security Lab. ept. Management Information Systems, National hengchi University ata Structures Lecture 14 Graphs efinition, Implementation and Traversal Graphs Formally speaking,

More information

Depth First Search (DFS)

Depth First Search (DFS) Algorithms & Models of Computation CS/ECE 374, Fall 2017 Depth First Search (DFS) Lecture 16 Thursday, October 26, 2017 Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 60 Today Two topics: Structure of directed

More information

Week 9 Student Responsibilities. Mat Example: Minimal Spanning Tree. 3.3 Spanning Trees. Prim s Minimal Spanning Tree.

Week 9 Student Responsibilities. Mat Example: Minimal Spanning Tree. 3.3 Spanning Trees. Prim s Minimal Spanning Tree. Week 9 Student Responsibilities Reading: hapter 3.3 3. (Tucker),..5 (Rosen) Mat 3770 Spring 01 Homework Due date Tucker Rosen 3/1 3..3 3/1 DS & S Worksheets 3/6 3.3.,.5 3/8 Heapify worksheet ttendance

More information

Reading. Graph Terminology. Graphs. What are graphs? Varieties. Motivation for Graphs. Reading. CSE 373 Data Structures. Graphs are composed of.

Reading. Graph Terminology. Graphs. What are graphs? Varieties. Motivation for Graphs. Reading. CSE 373 Data Structures. Graphs are composed of. Reading Graph Reading Goodrich and Tamassia, hapter 1 S 7 ata Structures What are graphs? Graphs Yes, this is a graph. Graphs are composed of Nodes (vertices) dges (arcs) node ut we are interested in a

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE, Winter 8 Design and Analysis of Algorithms Lecture : Graphs, DFS (Undirected, Directed), DAGs Class URL: http://vlsicad.ucsd.edu/courses/cse-w8/ Graphs Internet topology Graphs Gene-gene interactions

More information

DEPTH-FIRST SEARCH A B C D E F G H I J K L M N O P. Graph Traversals. Depth-First Search

DEPTH-FIRST SEARCH A B C D E F G H I J K L M N O P. Graph Traversals. Depth-First Search PTH-IRST SRH raph Traversals epth-irst Search H I J K L M N O P epth-irst Search 1 xploring a Labyrinth Without etting Lost depth-first search (S) in an undirected graph is like wandering in a labyrinth

More information

L10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37

L10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37 L10 Graphs lice. Fischer pril 2016 lice. Fischer L10 Graphs... 1/37 pril 2016 1 / 37 Outline 1 Graphs efinition Graph pplications Graph Representations 2 Graph Implementation 3 Graph lgorithms Sorting

More information

Introduction to Graphs. common/notes/ppt/

Introduction to Graphs.   common/notes/ppt/ Introduction to Graphs http://people.cs.clemson.edu/~pargas/courses/cs212/ common/notes/ppt/ Introduction Graphs are a generalization of trees Nodes or verticies Edges or arcs Two kinds of graphs irected

More information

CS 473: Algorithms. Chandra Chekuri 3228 Siebel Center. Fall University of Illinois, Urbana-Champaign

CS 473: Algorithms. Chandra Chekuri 3228 Siebel Center. Fall University of Illinois, Urbana-Champaign CS 473: Algorithms Chandra chekuri@cs.illinois.edu 3228 Siebel Center University of Illinois, Urbana-Champaign Fall 2010 Depth First Search Directed Graphs Searching ted Graphs Strong Connected Components

More information

Module 5 Graph Algorithms

Module 5 Graph Algorithms Module 5 Graph lgorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu 5. Graph Traversal lgorithms Depth First

More information

Alternate Algorithm for DSM Partitioning

Alternate Algorithm for DSM Partitioning lternate lgorithm for SM Partitioning Power of djacency Matrix pproach Using the power of the adjacency matrix approach, a binary SM is raised to its n th power to indicate which tasks can be traced back

More information

CHAPTER-2 A GRAPH BASED APPROACH TO FIND CANDIDATE KEYS IN A RELATIONAL DATABASE SCHEME **

CHAPTER-2 A GRAPH BASED APPROACH TO FIND CANDIDATE KEYS IN A RELATIONAL DATABASE SCHEME ** HPTR- GRPH S PPROH TO FIN NIT KYS IN RLTIONL TS SHM **. INTROUTION Graphs have many applications in the field of knowledge and data engineering. There are many graph based approaches used in database management

More information

Graph G = (V, E) V = set of vertices (nodes) E = set of edges (arcs)(lines) (arrows) D F E A C

Graph G = (V, E) V = set of vertices (nodes) E = set of edges (arcs)(lines) (arrows) D F E A C Graph Lecturer : Kritawan Siriboon, Room no. ext : ata Structures & lgorithm nalysis in, ++, Mark llen Weiss, ddison Wesley Graph G = (V, E) Graph efinitions V = set of vertices (nodes) E = set of edges

More information

State Transition Graph of 8-Puzzle E W W E W W 3 2 E

State Transition Graph of 8-Puzzle E W W E W W 3 2 E rrays. Lists. inary search trees. ash tables. tacks. Queues. tate Transition raph of 8-Puzzle oal: Understand data structures by solving the puzzle problem lementary tructures 4 7 5 6 8 4 6 5 7 8. Trees

More information

Graphs: Topological Sort / Graph Traversals (Chapter 9)

Graphs: Topological Sort / Graph Traversals (Chapter 9) Today s Outline raphs: Topological Sort / raph Traversals (hapter 9) S 373 ata Structures and lgorithms dmin: omework #4 - due Thurs, Nov 8 th at pm Midterm 2, ri Nov 6 raphs Representations Topological

More information

Accessing Variables. How can we generate code for x?

Accessing Variables. How can we generate code for x? S-322 Register llocation ccessing Variables How can we generate code for x? a := x + y The variable may be in a register:,r x, The variable may be in a static memory location: ST x,r w work register L

More information

The guaranteed existence of a source suggests an alternative approach to linearization:

The guaranteed existence of a source suggests an alternative approach to linearization: S. asgupta,.h. Papadimitriou, and U.V. Vazirani 101 Figure 3.8 directed acyclic graph with one source, two sinks, and four possible linearizations. F What types of dags can be linearized? Simple: ll of

More information

Advanced Data Structures and Algorithms

Advanced Data Structures and Algorithms dvanced ata Structures and lgorithms ssociate Professor r. Raed Ibraheem amed University of uman evelopment, College of Science and Technology Computer Science epartment 2015 2016 epartment of Computer

More information

Graph Representations and Traversal

Graph Representations and Traversal COMPSCI 330: Design and Analysis of Algorithms 02/08/2017-02/20/2017 Graph Representations and Traversal Lecturer: Debmalya Panigrahi Scribe: Tianqi Song, Fred Zhang, Tianyu Wang 1 Overview This lecture

More information

Lecture 22 Tuesday, April 10

Lecture 22 Tuesday, April 10 CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,

More information

Minimum Spanning Trees and Shortest Paths

Minimum Spanning Trees and Shortest Paths Minimum Spanning Trees and Shortest Paths Prim's algorithm ijkstra's algorithm November, 017 inda eeren / eoffrey Tien 1 Recall: S spanning tree Starting from vertex 16 9 1 6 10 13 4 3 17 5 11 7 16 13

More information

GRAPHS Lecture 19 CS2110 Spring 2013

GRAPHS Lecture 19 CS2110 Spring 2013 GRAPHS Lecture 19 CS2110 Spring 2013 Announcements 2 Prelim 2: Two and a half weeks from now Tuesday, April16, 7:30-9pm, Statler Exam conflicts? We need to hear about them and can arrange a makeup It would

More information

ECE 242 Data Structures and Algorithms. Graphs II. Lecture 27. Prof.

ECE 242 Data Structures and Algorithms.  Graphs II. Lecture 27. Prof. 242 ata Structures and lgorithms http://www.ecs.umass.edu/~polizzi/teaching/242/ Graphs II Lecture 27 Prof. ric Polizzi Summary Previous Lecture omposed of vertices (nodes) and edges vertex or node edges

More information

Graphs. Edges may be directed (from u to v) or undirected. Undirected edge eqvt to pair of directed edges

Graphs. Edges may be directed (from u to v) or undirected. Undirected edge eqvt to pair of directed edges (p 186) Graphs G = (V,E) Graphs set V of vertices, each with a unique name Note: book calls vertices as nodes set E of edges between vertices, each encoded as tuple of 2 vertices as in (u,v) Edges may

More information

Strongly connected: A directed graph is strongly connected if every pair of vertices are reachable from each other.

Strongly connected: A directed graph is strongly connected if every pair of vertices are reachable from each other. Directed Graph In a directed graph, each edge (u, v) has a direction u v. Thus (u, v) (v, u). Directed graph is useful to model many practical problems (such as one-way road in traffic network, and asymmetric

More information

Graphs: Definitions and Representations (Chapter 9)

Graphs: Definitions and Representations (Chapter 9) oday s Outline Graphs: efinitions and Representations (hapter 9) dmin: HW #4 due hursday, Nov 10 at 11pm Memory hierarchy Graphs Representations SE 373 ata Structures and lgorithms 11/04/2011 1 11/04/2011

More information

CSE 331: Introduction to Algorithm Analysis and Design Graphs

CSE 331: Introduction to Algorithm Analysis and Design Graphs CSE 331: Introduction to Algorithm Analysis and Design Graphs 1 Graph Definitions Graph: A graph consists of a set of verticies V and a set of edges E such that: G = (V, E) V = {v 0, v 1,..., v n 1 } E

More information

Today s Outline CSE 221: Algorithms and Data Structures Graphs (with no Axes to Grind)

Today s Outline CSE 221: Algorithms and Data Structures Graphs (with no Axes to Grind) Today s Outline S : lgorithms and ata Structures raphs (with no xes to rind) Steve Wolfman 0W Topological Sort: etting to Know raphs with a Sort raph T and raph Representations raph Terminology (a lot

More information

Graphs: Definitions and Representations (Chapter 9)

Graphs: Definitions and Representations (Chapter 9) oday s Outline Graphs: efinitions and Representations (hapter 9) SE 373 ata Structures and lgorithms dmin: Homework #4 - due hurs, Nov 8 th at 11pm Midterm 2, ri Nov 16 Memory hierarchy Graphs Representations

More information

CS 361 Data Structures & Algs Lecture 15. Prof. Tom Hayes University of New Mexico

CS 361 Data Structures & Algs Lecture 15. Prof. Tom Hayes University of New Mexico CS 361 Data Structures & Algs Lecture 15 Prof. Tom Hayes University of New Mexico 10-12-2010 1 Last Time Identifying BFS vs. DFS trees Can they be the same? Problems 3.6, 3.9, 3.2 details left as homework.

More information

Routing. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control

Routing. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control Routing Third Topic of the course Read chapter of the text Read chapter of the reference Main functions of routing system Selection of routes between the origin/source-destination pairs nsure that the

More information

Eulerian Cycle (2A) Young Won Lim 5/11/18

Eulerian Cycle (2A) Young Won Lim 5/11/18 ulerian ycle (2) opyright (c) 2015 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the NU ree ocumentation License, Version 1.2 or any later

More information

Graphs. A graph is a data structure consisting of nodes (or vertices) and edges. An edge is a connection between two nodes

Graphs. A graph is a data structure consisting of nodes (or vertices) and edges. An edge is a connection between two nodes Graphs Graphs A graph is a data structure consisting of nodes (or vertices) and edges An edge is a connection between two nodes A D B E C Nodes: A, B, C, D, E Edges: (A, B), (A, D), (D, E), (E, C) Nodes

More information

Chapter 9: Elementary Graph Algorithms Basic Graph Concepts

Chapter 9: Elementary Graph Algorithms Basic Graph Concepts hapter 9: Elementary Graph lgorithms asic Graph oncepts msc 250 Intro to lgorithms graph is a mathematical object that is used to model different situations objects and processes: Linked list Tree (partial

More information

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018 SE 332: ata Structures & Parallelism Lecture 19: Introduction to Graphs Ruth nderson utumn 2018 Today Graphs Intro & efinitions 11/19/2018 2 Graphs graph is a formalism for representing relationships among

More information

Algorithms Activity 6: Applications of BFS

Algorithms Activity 6: Applications of BFS Algorithms Activity 6: Applications of BFS Suppose we have a graph G = (V, E). A given graph could have zero edges, or it could have lots of edges, or anything in between. Let s think about the range of

More information

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014 epartment of omputer Science Virginia Tech lacksburg, Virginia opyright c 04 by lifford. Shaffer : Theory of lgorithms Title page : Theory of lgorithms lifford. Shaffer Spring 04 lifford. Shaffer epartment

More information

INF2220: algorithms and data structures Series 7

INF2220: algorithms and data structures Series 7 Universitetet i Oslo nstitutt for nformatikk. Yu,. arabeg uiologo NF2220: algorithms and data structures Series 7 Topic ore on graphs: FS, iconnectivity, and strongly connected components (Exercises with

More information

Minimum Spanning Trees and Shortest Paths

Minimum Spanning Trees and Shortest Paths Minimum Spanning Trees and Shortest Paths Kruskal's lgorithm Prim's lgorithm Shortest Paths pril 04, 018 inda eeren / eoffrey Tien 1 Kruskal's algorithm ata types for implementation Kruskalslgorithm()

More information

CSE 101. Algorithm Design and Analysis Miles Jones Office 4208 CSE Building Lecture 5: SCC/BFS

CSE 101. Algorithm Design and Analysis Miles Jones Office 4208 CSE Building Lecture 5: SCC/BFS CSE 101 Algorithm Design and Analysis Miles Jones mej016@eng.ucsd.edu Office 4208 CSE Building Lecture 5: SCC/BFS DECOMPOSITION There is a linear time algorithm that decomposes a directed graph into its

More information

Graph. Vertex. edge. Directed Graph. Undirected Graph

Graph. Vertex. edge. Directed Graph. Undirected Graph Module : Graphs Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS E-mail: natarajan.meghanathan@jsums.edu Graph Graph is a data structure that is a collection

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014 epartment of omputer Science Virginia Tech lacksburg, Virginia opyright c 04 by lifford. Shaffer : Theory of lgorithms Title page : Theory of lgorithms lifford. Shaffer Spring 04 lifford. Shaffer epartment

More information

CSE 332: Data Structures & Parallelism Lecture 22: Minimum Spanning Trees. Ruth Anderson Winter 2018

CSE 332: Data Structures & Parallelism Lecture 22: Minimum Spanning Trees. Ruth Anderson Winter 2018 SE 33: Data Structures & Parallelism Lecture : Minimum Spanning Trees Ruth nderson Winter 08 Minimum Spanning Trees iven an undirected graph =(V,E), find a graph =(V, E ) such that: E is a subset of E

More information

Problem: Large Graphs

Problem: Large Graphs S : ata Structures raph lgorithms raph Search Lecture Problem: Large raphs It is expensive to find optimal paths in large graphs, using S or ijkstra s algorithm (for weighted graphs) How can we search

More information

Luke. Leia 2. Han Leia

Luke. Leia 2. Han Leia Reading SE : ata Structures raph lgorithms raph Search hapter.,.,. Lecture raph T raphs are a formalism for representing relationships between objects a graph is represented as = (V, E) Han V is a set

More information

Graphs: Connectivity. Jordi Cortadella and Jordi Petit Department of Computer Science

Graphs: Connectivity. Jordi Cortadella and Jordi Petit Department of Computer Science Graphs: Connectivity Jordi Cortadella and Jordi Petit Department of Computer Science A graph Source: Wikipedia The network graph formed by Wikipedia editors (edges) contributing to different Wikipedia

More information

CAD Algorithms. Shortest Path

CAD Algorithms. Shortest Path lgorithms Shortest Path lgorithms Mohammad Tehranipoor epartment September 00 Shortest Path Problem: ind the best way of getting from s to t where s and t are vertices in a graph. est: Min (sum of the

More information

Problem Solving as State Space Search. Assignments

Problem Solving as State Space Search. Assignments Problem olving as tate pace earch rian. Williams 6.0- ept th, 00 lides adapted from: 6.0 Tomas Lozano Perez, Russell and Norvig IM rian Williams, Fall 0 ssignments Remember: Problem et #: Java warm up

More information

Lesson 5.5. Minimum Spanning Trees. Explore This

Lesson 5.5. Minimum Spanning Trees. Explore This Lesson. St harles ounty Minimum Spanning Trees s in many of the previous lessons, this lesson focuses on optimization. Problems and applications here center on two types of problems: finding ways of connecting

More information

(Refer Slide Time: 05:25)

(Refer Slide Time: 05:25) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering IIT Delhi Lecture 30 Applications of DFS in Directed Graphs Today we are going to look at more applications

More information

Exercise 1. D-ary Tree

Exercise 1. D-ary Tree CSE 101: Design and Analysis of Algorithms Winter 2018 Homework 1 Solutions Due: 01/19/2018, 11.59 PM Exercise 1. D-ary Tree A d-ary tree is a rooted tree in which each node has at most d children. Show

More information

CS1800: Graph Algorithms (2nd Part) Professor Kevin Gold

CS1800: Graph Algorithms (2nd Part) Professor Kevin Gold S1800: raph lgorithms (2nd Part) Professor Kevin old Summary So ar readth-irst Search (S) and epth-irst Search (S) are two efficient algorithms for finding paths on graphs. S also finds the shortest path.

More information

Finding Strongly Connected Components

Finding Strongly Connected Components Yufei Tao ITEE University of Queensland We just can t get enough of the beautiful algorithm of DFS! In this lecture, we will use it to solve a problem finding strongly connected components that seems to

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 4 Graphs Definitions Traversals Adam Smith 9/8/10 Exercise How can you simulate an array with two unbounded stacks and a small amount of memory? (Hint: think of a

More information

Campus Tour. 1/18/2005 4:08 AM Campus Tour 1

Campus Tour. 1/18/2005 4:08 AM Campus Tour 1 ampus Tour //00 :0 M ampus Tour Outline and Reading Overview of the assignment Review djacency matrix structure (..) Kruskal s MST algorithm (..) Partition T and implementation (..) The decorator pattern

More information

11/26/17. directed graphs. CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10. undirected graphs

11/26/17. directed graphs. CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10. undirected graphs directed graphs S 220: iscrete Structures and their pplications collection of vertices and directed edges graphs zybooks chapter 10 collection of vertices and edges undirected graphs What can this represent?

More information

Agenda. Graph Representation DFS BFS Dijkstra A* Search Bellman-Ford Floyd-Warshall Iterative? Non-iterative? MST Flow Edmond-Karp

Agenda. Graph Representation DFS BFS Dijkstra A* Search Bellman-Ford Floyd-Warshall Iterative? Non-iterative? MST Flow Edmond-Karp Graph Charles Lin genda Graph Representation FS BFS ijkstra * Search Bellman-Ford Floyd-Warshall Iterative? Non-iterative? MST Flow Edmond-Karp Graph Representation djacency Matrix bool way[100][100];

More information

Programming Abstractions

Programming Abstractions Programming bstractions S 1 0 6 X ynthia ee Upcoming Topics raphs! 1. asics What are they? ow do we represent them? 2. Theorems What are some things we can prove about graphs? 3. readth-first search on

More information

Graph Application in Multiprocessor Task Scheduling

Graph Application in Multiprocessor Task Scheduling Graph pplication in Multiprocessor Task Scheduling Yusuf Rahmat Pratama, 13516062 Program Studi Teknik Informatika Sekolah Teknik lektro dan Informatika Institut Teknologi andung, Jl. Ganesha 10 andung

More information

Algorithms (V) Path in Graphs. Guoqiang Li. School of Software, Shanghai Jiao Tong University

Algorithms (V) Path in Graphs. Guoqiang Li. School of Software, Shanghai Jiao Tong University Algorithms (V) Path in Graphs Guoqiang Li School of Software, Shanghai Jiao Tong University Review of the Previous Lecture Exploring Graphs EXPLORE(G, v) input : G = (V, E) is a graph; v V output: visited(u)

More information

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel. CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.

More information

Eulerian Cycle (2A) Young Won Lim 5/25/18

Eulerian Cycle (2A) Young Won Lim 5/25/18 ulerian ycle (2) opyright (c) 2015 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU ree ocumentation License, Version 1.2 or any later

More information

CS435 Introduction to Big Data FALL 2018 Colorado State University. 9/24/2018 Week 6-A Sangmi Lee Pallickara. Topics. This material is built based on,

CS435 Introduction to Big Data FALL 2018 Colorado State University. 9/24/2018 Week 6-A Sangmi Lee Pallickara. Topics. This material is built based on, FLL 218 olorado State University 9/24/218 Week 6-9/24/218 S435 Introduction to ig ata - FLL 218 W6... PRT 1. LRGE SLE T NLYTIS WE-SLE LINK N SOIL NETWORK NLYSIS omputer Science, olorado State University

More information

The Traveling Salesman Problem Cheapest-Link Algorithm

The Traveling Salesman Problem Cheapest-Link Algorithm The Traveling Salesman Problem heapest-link lgorithm Lecture 3 Sections.5 Robb T. Koether ampden-sydney ollege Wed, Nov 1, 201 Robb T. Koether (ampden-sydney ollege)the Traveling Salesman Problemheapest-Link

More information

Machine Learning Lecture 16

Machine Learning Lecture 16 ourse Outline Machine Learning Lecture 16 undamentals (2 weeks) ayes ecision Theory Probability ensity stimation Undirected raphical Models & Inference 28.06.2016 iscriminative pproaches (5 weeks) Linear

More information

Geometry. Points, Lines, Planes & Angles. Part 2. Angles. Slide 1 / 185 Slide 2 / 185. Slide 4 / 185. Slide 3 / 185. Slide 5 / 185.

Geometry. Points, Lines, Planes & Angles. Part 2. Angles. Slide 1 / 185 Slide 2 / 185. Slide 4 / 185. Slide 3 / 185. Slide 5 / 185. Slide 1 / 185 Slide 2 / 185 eometry Points, ines, Planes & ngles Part 2 2014-09-20 www.njctl.org Part 1 Introduction to eometry Slide 3 / 185 Table of ontents Points and ines Planes ongruence, istance

More information

Today More about Trees. Introduction to Computers and Programming. Spanning trees. Generic search algorithm. Prim s algorithm Kruskal s algorithm

Today More about Trees. Introduction to Computers and Programming. Spanning trees. Generic search algorithm. Prim s algorithm Kruskal s algorithm Introduction to omputers and Programming Prof. I. K. Lundqvist Lecture 8 pril Today More about Trees panning trees Prim s algorithm Kruskal s algorithm eneric search algorithm epth-first search example

More information

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting CS2 Algorithms and Data Structures Note 10 Depth-First Search and Topological Sorting In this lecture, we will analyse the running time of DFS and discuss a few applications. 10.1 A recursive implementation

More information

Graph ADT. Lecture18: Graph II. Adjacency Matrix. Representation of Graphs. Data Vertices and edges. Methods

Graph ADT. Lecture18: Graph II. Adjacency Matrix. Representation of Graphs. Data Vertices and edges. Methods Graph T S33: ata Structures (0) Lecture8: Graph II ohyung Han S, POSTH bhhan@postech.ac.kr ata Vertices and edges endvertices(e): an array of the two endvertices of e opposite(v,e): the vertex opposite

More information

國立清華大學電機工程學系. Outline

國立清華大學電機工程學系. Outline 國立清華大學電機工程學系 EE Data Structure Chapter Graph (Part I) Outline The Graph Abstract Data Type Introduction Definitions Graph Representations Elementary Graph Operations Minimum Cost Spanning Trees ch.- River

More information

Directed Graphs. digraph API digraph search transitive closure topological sort strong components. Directed graphs

Directed Graphs. digraph API digraph search transitive closure topological sort strong components. Directed graphs irected graphs igraph. Set of vertices connected pairwise by oriented edges. irected raphs digraph AP digraph search transitive closure topological sort strong components References: Algorithms in Java,

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

COS 423 Lecture14. Robert E. Tarjan 2011

COS 423 Lecture14. Robert E. Tarjan 2011 COS 423 Lecture14 Graph Search Robert E. Tarjan 2011 An undirected graph 4 connected components c a b g d e f h i j Vertex j is isolated: no incident edges Undirected graph search G= (V, E) V= vertex set,

More information