On External-Memory Planar Depth-First Search

Size: px
Start display at page:

Download "On External-Memory Planar Depth-First Search"

Transcription

1 On External-Memory Planar Depth-First Search Laura Toma Duke University Lars Arge Ulrich Meyer Norbert Zeh Duke University Max-Plank Institute Carlton University August 2

2 External Graph Problems Applications Geographic Information Systems (GIS): Terrain analysis: flow modeling, topographic indices Routing (e.g. find optimal routes given US road network) Web modeling Web crawl of 2M nodes, 2M links: shortest paths, (strongly) connected components, breadth/depth first search, diameter [BK] Search engines I/O bottleneck Data reside on disk Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 2

3 Disk Model [Aggarwal & Vitter 88] Block I/O D V = # of vertices E = # of edges M = # of vertices/edgesthatfitinmemory B = # of vertices/edges per disk block M I/O complexity Basic bounds P scan(e) = E B E sort(e) =Θ( E B log M/B E B ) E Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh

4 Depth-First Search (DFS) DFS(u) mark u for each v in Adj(u) if v not marked then DFS(v) Internal memory: O(V + E) External memory: O(V + E) =O(E) I/Os I/O per vertex to load adjacency list I/O per edge to check if v is marked External memory DFS and BFS are hard! Lower bounds: Ω(sort(V )) Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 4

5 I/O-Efficient DFS and BFS Previous Work General undirected graphs: DFS O ( ) V + V E M B O ( (V + E B ) log ) V B [CGG95] [KS96] BFS O ( V + E V sort(v )) = O(V +sort(e)) [MR99] Planar undirected graphs: O(N) I/Os, O(N) space N O( γlog B +sort(nbγ )) I/Os, O(NB γ ) space [M] Grid graphs: DFS O( N B ) [M], BFS O(sort(N)) [AT] Outerplanar graphs: O(sort(N)) [MZ99] Trees: O(sort(N)) [CGG95] Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 5

6 Planar undirected graphs Our Contributions An O(sort(N) log N) DFS algorithm o(n) iflog M/B N B log N<B An O(sort(N)) DFS to BFS reduction DFS O(sort(N)) BFS [ABT] O(sort(N)) External multi way separation [ABT] O(sort(N)) SSSP Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 6

7 Known O(sort(N)) solutions List ranking [CGG95] I/O-Toolbox List given as (u, succ(u)) pairs. Compute for each vertex the number of edges on its path to the end of the list. Trees BFS, DFS, expression evaluation, Euler tour [CGG95,BGV] Planar graphs Minimum spanning tree (MST), spanning tree (ST), connected components (CC), biconnected components (BCC) [CGG95] Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 7

8 A Divide-and-Conquer DFS Algorithm on Planar Graphs Based on DFS PRAM algorithm [Smith86] s v w C Compute a simple cycle-separator C Compute a path from s to C: s v w Compute DFS recursively in the CC G i of G \ C Attach the DFS trees of G i onto the path Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 8

9 A Divide-and-Conquer DFS Algorithm on Planar Graphs Compute a simple cycle-separator C A simple 5 6-cycle-separator of a biconnected plane graph can be computed in O(sort(N)) I/Os. Compute a path from s to C O(sort(N)) using spanning tree, list ranking etc. Attach the DFS trees of G i onto the path O(sort(N)) connected components, list ranking, sorting etc. O(log N) recursion steps, O(sort(N) I/Os per step = O(sort(N) log N) Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 9

10 Computing a Cycle-separator of a Planar Graph Use a spanning tree T of the dual graph Subtree rooted at v T defines subgraph G(v) Boundary of G(v) is a simple cycle r r v G(v) for each node v T can be computed bottom-up in O(sort(N)) I/Os. Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh

11 Computing a Cycle-separator of a Planar Graph Based on PRAM algorithm [JK88] Case : Search for face in G with boundary 6 E Case 2: Search for v T such that 6 E G(v) 5 6 E r v Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh

12 Computing a Cycle-separator of a Planar Graph Case : Find v T such that G(v) > 5 6 E and G(w i) < 6 E for all children w i of v Find a subset {w i } such that 6 E v i G(w i ) 5 6 E v Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 2

13 Computing a Cycle-separator of a Planar Graph Problem: Boundary must be a simple cycle! Example: boundary of v G(w ) not a simple cycle G(w ) v G(w ) G(w 2 ) Compute a permutation σ(), σ(2),... such that the boundary of v i k G(w σ(i) ) is a simple cycle, for any k =,2,... Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh

14 A DFS to BFS Reduction on Planar Graphs Idea: Partition the faces of G into levels around a source face containing s and grow DFS level-by-level. s s Computing DFS of each level and gluing them together is simpler! Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 4

15 Partitioning the Faces into Levels BFS in the vertex-on-face graph Level of a face = BFS depth in vertex-on-face graph ss Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 5

16 A DFS to BFS Reduction on Planar Graphs G i = union of the boundaries of faces at level i T i =DFStreeofG i H i =G i \G i s H H H 2 Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 6

17 A DFS to BFS Reduction on Planar Graphs Algorithm: Compute a DFS-forest of H i and attach it onto T i. A spanning tree is a DFS tree if and only if it does not have cross edges. Compute CC H i of H i For each H i find deepest node in T i which connects to a node r i in H i. If root DFS tree of H i at r i = gluing it onto T i does not introduce cross-edges. Lemma: The bicomps of H i are the boundary cycles of G i. Compute bicomps and bicomp-cut-point tree for each H i Compute the DFS of H i rooted at r i Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 7

18 A DFS to BFS Reduction on Planar Graphs I/O-analysis Graphs H i can be computed in O(sort(N)) I/Os For each level i CC H i of H i Deepest node in T i which connects to H i Bicomps, bicomp-cut-point tree and DFS tree in H i can be computed in O(sort(H i )) I/Os = total O(sort(N)) I/Os Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 8

19 Conclusion Our results: DFS on planar graphs O(sort(N) log N) I/Os A reduction to BFS in O(sort(N)) I/Os DFS O(sort(N)) BFS [ABT] O(sort(N)) External multi way separation [ABT] O(sort(N)) SSSP External planar multi-way separation: O(sort(N)) I/Os [MZ] = BFS, DFS, SSSP in O(sort(N)) I/Os! Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 9

20 Open problems BFS, DFS on general graphs Reductions on general graphs Practical O(sort(N)) DFS for special classes of graphs encountered in practice (triangulations, grid graphs) Lars Arge, Ulrich Meyer, Laura Toma, Norbert Zeh 2

I/O-Efficient Undirected Shortest Paths

I/O-Efficient Undirected Shortest Paths I/O-Efficient Undirected Shortest Paths Ulrich Meyer 1, and Norbert Zeh 2, 1 Max-Planck-Institut für Informatik, Stuhlsatzhausenweg 85, 66123 Saarbrücken, Germany. 2 Faculty of Computer Science, Dalhousie

More information

I/O-Efficient Algorithms for Planar Graphs I: Separators

I/O-Efficient Algorithms for Planar Graphs I: Separators I/O-Efficient Algorithms for Planar Graphs I: Separators Anil Maheshwari School of Computer Science Carleton University Ottawa, ON K1S 5B6 Canada maheshwa@scs.carleton.ca Norbert Zeh Faculty of Computer

More information

On external-memory MST, SSSP and multi-way planar graph separation

On external-memory MST, SSSP and multi-way planar graph separation Journal of Algorithms 53 (2004) 186 206 www.elsevier.com/locate/jalgor On external-memory MST, SSSP and multi-way planar graph separation Lars Arge a,,1, Gerth Stølting Brodal b,2, Laura Toma a,1 a Department

More information

Massive Data Algorithmics. Lecture 10: Connected Components and MST

Massive Data Algorithmics. Lecture 10: Connected Components and MST Connected Components Connected Components 1 1 2 2 4 1 1 4 1 4 4 3 4 Internal Memory Algorithms BFS, DFS: O( V + E ) time 1: for every edge e E do 2: if two endpoints v and w of e are in different CCs then

More information

Distributed Graph Algorithms for Planar Networks

Distributed Graph Algorithms for Planar Networks Bernhard Haeupler CMU joint work with Mohsen Ghaffari (MIT) ADGA, Austin, October 12th 2014 Distributed: CONGEST(log n) model Distributed: CONGEST(log n) model Network Optimization Problems: shortest path

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

Minimum Spanning Trees My T. UF

Minimum Spanning Trees My T. UF Introduction to Algorithms Minimum Spanning Trees @ UF Problem Find a low cost network connecting a set of locations Any pair of locations are connected There is no cycle Some applications: Communication

More information

External-Memory Breadth-First Search with Sublinear I/O

External-Memory Breadth-First Search with Sublinear I/O External-Memory Breadth-First Search with Sublinear I/O Kurt Mehlhorn and Ulrich Meyer Max-Planck-Institut für Informatik Stuhlsatzenhausweg 85, 66123 Saarbrücken, Germany. Abstract. Breadth-first search

More information

Graphs. Part I: Basic algorithms. Laura Toma Algorithms (csci2200), Bowdoin College

Graphs. Part I: Basic algorithms. Laura Toma Algorithms (csci2200), Bowdoin College Laura Toma Algorithms (csci2200), Bowdoin College Undirected graphs Concepts: connectivity, connected components paths (undirected) cycles Basic problems, given undirected graph G: is G connected how many

More information

Outline. Graphs. Divide and Conquer.

Outline. Graphs. Divide and Conquer. GRAPHS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Outline Graphs.

More information

I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis

I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal 1 Lars Arge 2,1 Ke Yi 1 1 Department of Computer Science, Duke University, Durham, NC 27708, USA. {pankaj,large,yike}@cs.duke.edu

More information

Sample Solutions to Homework #4

Sample Solutions to Homework #4 National Taiwan University Handout #25 Department of Electrical Engineering January 02, 207 Algorithms, Fall 206 TA: Zhi-Wen Lin and Yen-Chun Liu Sample Solutions to Homework #4. (0) (a) Both of the answers

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees Overview Problem A town has a set of houses and a set of roads. A road connects and only houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and

More information

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algorithms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Choo

More information

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 17. Depth-First Search. DFS (Initialize and Go) Last Time Depth-First Search

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 17. Depth-First Search. DFS (Initialize and Go) Last Time Depth-First Search Taking Stock IE170: Algorithms in Systems Engineering: Lecture 17 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University March 2, 2007 Last Time Depth-First Search This Time:

More information

1 Start with each vertex being its own component. 2 Merge two components into one by choosing the light edge

1 Start with each vertex being its own component. 2 Merge two components into one by choosing the light edge Taking Stock IE170: in Systems Engineering: Lecture 19 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University March 16, 2007 Last Time Minimum This Time More Strongly Connected

More information

COT 6405 Introduction to Theory of Algorithms

COT 6405 Introduction to Theory of Algorithms COT 6405 Introduction to Theory of Algorithms Topic 14. Graph Algorithms 11/7/2016 1 Elementary Graph Algorithms How to represent a graph? Adjacency lists Adjacency matrix How to search a graph? Breadth-first

More information

Part VI Graph algorithms. Chapter 22 Elementary Graph Algorithms Chapter 23 Minimum Spanning Trees Chapter 24 Single-source Shortest Paths

Part VI Graph algorithms. Chapter 22 Elementary Graph Algorithms Chapter 23 Minimum Spanning Trees Chapter 24 Single-source Shortest Paths Part VI Graph algorithms Chapter 22 Elementary Graph Algorithms Chapter 23 Minimum Spanning Trees Chapter 24 Single-source Shortest Paths 1 Chapter 22 Elementary Graph Algorithms Representations of graphs

More information

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

Graph representation

Graph representation Graph Algorithms 1 Graph representation Given graph G = (V, E). May be either directed or undirected. Two common ways to represent for algorithms: 1. Adjacency lists. 2. Adjacency matrix. When expressing

More information

Greedy algorithms. Given a problem, how do we design an algorithm that solves the problem? There are several strategies:

Greedy algorithms. Given a problem, how do we design an algorithm that solves the problem? There are several strategies: Greedy algorithms Input Algorithm Goal? Given a problem, how do we design an algorithm that solves the problem? There are several strategies: 1. Try to modify an existing algorithm. 2. Construct an algorithm

More information

I/O-Efficient Shortest Path Queries in Geometric Spanners

I/O-Efficient Shortest Path Queries in Geometric Spanners I/O-Efficient Shortest Path Queries in Geometric Spanners Anil Maheshwari 1, Michiel Smid 2, and Norbert Zeh 1 1 School of Computer Science, Carleton University, Ottawa, Canada maheshwa,nzeh @scs.carleton.ca

More information

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair {machado,tron}@visgraf.impa.br Theoretical Models Random Access Machine Memory: Infinite Array. Access

More information

Minimum Spanning Trees Ch 23 Traversing graphs

Minimum Spanning Trees Ch 23 Traversing graphs Next: Graph Algorithms Graphs Ch 22 Graph representations adjacency list adjacency matrix Minimum Spanning Trees Ch 23 Traversing graphs Breadth-First Search Depth-First Search 11/30/17 CSE 3101 1 Graphs

More information

CSE 100 Minimum Spanning Trees Prim s and Kruskal

CSE 100 Minimum Spanning Trees Prim s and Kruskal CSE 100 Minimum Spanning Trees Prim s and Kruskal Your Turn The array of vertices, which include dist, prev, and done fields (initialize dist to INFINITY and done to false ): V0: dist= prev= done= adj:

More information

Unit 2: Algorithmic Graph Theory

Unit 2: Algorithmic Graph Theory Unit 2: Algorithmic Graph Theory Course contents: Introduction to graph theory Basic graph algorithms Reading Chapter 3 Reference: Cormen, Leiserson, and Rivest, Introduction to Algorithms, 2 nd Ed., McGraw

More information

23.2 Minimum Spanning Trees

23.2 Minimum Spanning Trees 23.2 Minimum Spanning Trees Kruskal s algorithm: Kruskal s algorithm solves the Minimum Spanning Tree problem in O( E log V ) time. It employs the disjoint-set data structure that is similarly used for

More information

Graph Representation

Graph Representation Graph Representation Adjacency list representation of G = (V, E) An array of V lists, one for each vertex in V Each list Adj[u] contains all the vertices v such that there is an edge between u and v Adj[u]

More information

Minimum spanning trees

Minimum spanning trees Minimum spanning trees [We re following the book very closely.] One of the most famous greedy algorithms (actually rather family of greedy algorithms). Given undirected graph G = (V, E), connected Weight

More information

CSE 613: Parallel Programming. Lecture 11 ( Graph Algorithms: Connected Components )

CSE 613: Parallel Programming. Lecture 11 ( Graph Algorithms: Connected Components ) CSE 61: Parallel Programming Lecture ( Graph Algorithms: Connected Components ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 01 Graph Connectivity 1 1 1 6 5 Connected Components:

More information

An I/O-Efficient Algorithm for Computing Vertex Separators on Multi-Dimensional Grid Graphs and Its Applications

An I/O-Efficient Algorithm for Computing Vertex Separators on Multi-Dimensional Grid Graphs and Its Applications Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 22, no. 2, pp. 297 327 (2018) DOI: 10.7155/jgaa.00471 An I/O-Efficient Algorithm for Computing Vertex Separators on Multi-Dimensional

More information

Week 12: Minimum Spanning trees and Shortest Paths

Week 12: Minimum Spanning trees and Shortest Paths Agenda: Week 12: Minimum Spanning trees and Shortest Paths Kruskal s Algorithm Single-source shortest paths Dijkstra s algorithm for non-negatively weighted case Reading: Textbook : 61-7, 80-87, 9-601

More information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental

More information

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1 Undirected Graphs Terminology. Free Trees. Representations. Minimum Spanning Trees (algorithms: Prim, Kruskal). Graph Traversals (dfs, bfs). Articulation points & Biconnected Components. Graph Matching

More information

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 16. Graph Search Algorithms. Recall BFS

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 16. Graph Search Algorithms. Recall BFS Taking Stock IE170: Algorithms in Systems Engineering: Lecture 16 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University February 28, 2007 Last Time The Wonderful World of This

More information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 9 Minimum Spanning Trees Thanks to the text authors who contributed to these slides Why Minimum Spanning Trees (MST)? Example 1 A

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees 1 Minimum- Spanning Trees 1. Concrete example: computer connection. Definition of a Minimum- Spanning Tree Concrete example Imagine: You wish to connect all the computers in an office

More information

Minimum Spanning Trees

Minimum Spanning Trees Chapter 23 Minimum Spanning Trees Let G(V, E, ω) be a weighted connected graph. Find out another weighted connected graph T(V, E, ω), E E, such that T has the minimum weight among all such T s. An important

More information

Elementary Graph Algorithms CSE 6331

Elementary Graph Algorithms CSE 6331 Elementary Graph Algorithms CSE 6331 Reading Assignment: Chapter 22 1 Basic Depth-First Search Algorithm procedure Search(G = (V, E)) // Assume V = {1, 2,..., n} // // global array visited[1..n] // visited[1..n]

More information

CSci 231 Final Review

CSci 231 Final Review CSci 231 Final Review Here is a list of topics for the final. Generally you are responsible for anything discussed in class (except topics that appear italicized), and anything appearing on the homeworks.

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

Representations of Graphs

Representations of Graphs ELEMENTARY GRAPH ALGORITHMS -- CS-5321 Presentation -- I am Nishit Kapadia Representations of Graphs There are two standard ways: A collection of adjacency lists - they provide a compact way to represent

More information

Algorithms for Memory-Hierarchies Ulrich Meyer

Algorithms for Memory-Hierarchies Ulrich Meyer Algorithms for Memory-Hierarchies Ulrich Meyer Max-Planck-Institut für Informatik www.uli-meyer.de Algorithms for Memory-Hierarchies Ulrich Meyer p. 1 The Problem: RAM Model vs. Real Computer Time real

More information

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10 CS 220: Discrete Structures and their Applications graphs zybooks chapter 10 directed graphs A collection of vertices and directed edges What can this represent? undirected graphs A collection of vertices

More information

MA/CSSE 473 Day 12. Questions? Insertion sort analysis Depth first Search Breadth first Search. (Introduce permutation and subset generation)

MA/CSSE 473 Day 12. Questions? Insertion sort analysis Depth first Search Breadth first Search. (Introduce permutation and subset generation) MA/CSSE 473 Day 12 Interpolation Search Insertion Sort quick review DFS, BFS Topological Sort MA/CSSE 473 Day 12 Questions? Interpolation Search Insertion sort analysis Depth first Search Breadth first

More information

Computing Visibility on Terrains in External Memory

Computing Visibility on Terrains in External Memory Computing Visibility on Terrains in External Memory Herman Haverkort Laura Toma Yi Zhuang TU. Eindhoven Netherlands Bowdoin College USA Visibility Problem: visibility map (viewshed) of v terrain T arbitrary

More information

Improved Algorithms for Min Cuts and Max Flows in Undirected Planar Graphs

Improved Algorithms for Min Cuts and Max Flows in Undirected Planar Graphs Improved Algorithms for Min Cuts and Max Flows in Undirected Planar Graphs Giuseppe F. Italiano Università di Roma Tor Vergata Joint work with Yahav Nussbaum, Piotr Sankowski and Christian Wulff-Nilsen

More information

Greedy Algorithms. At each step in the algorithm, one of several choices can be made.

Greedy Algorithms. At each step in the algorithm, one of several choices can be made. Greedy Algorithms At each step in the algorithm, one of several choices can be made. Greedy Strategy: make the choice that is the best at the moment. After making a choice, we are left with one subproblem

More information

CSE4502/5717: Big Data Analytics Prof. Sanguthevar Rajasekaran Lecture 7 02/14/2018; Notes by Aravind Sugumar Rajan Recap from last class:

CSE4502/5717: Big Data Analytics Prof. Sanguthevar Rajasekaran Lecture 7 02/14/2018; Notes by Aravind Sugumar Rajan Recap from last class: CSE4502/5717: Big Data Analytics Prof. Sanguthevar Rajasekaran Lecture 7 02/14/2018; Notes by Aravind Sugumar Rajan Recap from last class: Prim s Algorithm: Grow a subtree by adding one edge to the subtree

More information

CSE 100: GRAPH ALGORITHMS

CSE 100: GRAPH ALGORITHMS CSE 100: GRAPH ALGORITHMS Dijkstra s Algorithm: Questions Initialize the graph: Give all vertices a dist of INFINITY, set all done flags to false Start at s; give s dist = 0 and set prev field to -1 Enqueue

More information

External-Memory Algorithms for Processing Line Segments in Geographic Information Systems 1

External-Memory Algorithms for Processing Line Segments in Geographic Information Systems 1 Algorithmica (2007) 47: 1 25 DOI: 10.1007/s00453-006-1208-z Algorithmica 2006 Springer Science+Business Media, Inc. External-Memory Algorithms for Processing Line Segments in Geographic Information Systems

More information

Undirected Graphs. Hwansoo Han

Undirected Graphs. Hwansoo Han Undirected Graphs Hwansoo Han Definitions Undirected graph (simply graph) G = (V, E) V : set of vertexes (vertices, nodes, points) E : set of edges (lines) An edge is an unordered pair Edge (v, w) = (w,

More information

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set

More information

CSC Design and Analysis of Algorithms. Lecture 4 Brute Force, Exhaustive Search, Graph Traversal Algorithms. Brute-Force Approach

CSC Design and Analysis of Algorithms. Lecture 4 Brute Force, Exhaustive Search, Graph Traversal Algorithms. Brute-Force Approach CSC 8301- Design and Analysis of Algorithms Lecture 4 Brute Force, Exhaustive Search, Graph Traversal Algorithms Brute-Force Approach Brute force is a straightforward approach to solving a problem, usually

More information

Computing Visibility on Terrains in External Memory

Computing Visibility on Terrains in External Memory Computing Visibility on Terrains in External Memory Herman Haverkort Laura Toma Yi Zhuang TU. Eindhoven Netherlands Bowdoin College USA ALENEX 2007 New Orleans, USA Visibility Problem: visibility map (viewshed)

More information

15-451/651: Design & Analysis of Algorithms October 5, 2017 Lecture #11: Depth First Search and Strong Components last changed: October 17, 2017

15-451/651: Design & Analysis of Algorithms October 5, 2017 Lecture #11: Depth First Search and Strong Components last changed: October 17, 2017 15-451/651: Design & Analysis of Algorithms October 5, 2017 Lecture #11: Depth First Search and Strong Components last changed: October 17, 2017 1 Introduction Depth first search is a very useful technique

More information

Computing Pfafstetter Labelings I/O-Efficiently (abstract)

Computing Pfafstetter Labelings I/O-Efficiently (abstract) Computing Pfafstetter Labelings I/O-Efficiently (abstract) Lars Arge Department of Computer Science, University of Aarhus Aabogade 34, DK-8200 Aarhus N, Denmark large@daimi.au.dk Herman Haverkort Dept.

More information

CSCE 350: Chin-Tser Huang. University of South Carolina

CSCE 350: Chin-Tser Huang. University of South Carolina CSCE 350: Data Structures and Algorithms Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Announcement Homework 2 will be returned on Thursday; solution will be available on class website

More information

CS302 - Data Structures using C++

CS302 - Data Structures using C++ CS302 - Data Structures using C++ Topic: Graphs - Introduction Kostas Alexis Terminology In the context of our course, graphs represent relations among data items G = {V,E} A graph is a set of vertices

More information

Directed Graphs (II) Hwansoo Han

Directed Graphs (II) Hwansoo Han Directed Graphs (II) Hwansoo Han Traversals of Directed Graphs To solve many problems dealing with digraphs, we need to visit vertexes and arcs in a systematic way Depth-first search (DFS) A generalization

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

Taking Stock. Last Time Flows. This Time Review! 1 Characterize the structure of an optimal solution

Taking Stock. Last Time Flows. This Time Review! 1 Characterize the structure of an optimal solution Taking Stock IE170: Algorithms in Systems Engineering: Lecture 26 Jeff Linderoth Last Time Department of Industrial and Systems Engineering Lehigh University April 2, 2007 This Time Review! Jeff Linderoth

More information

Local Algorithms for Sparse Spanning Graphs

Local Algorithms for Sparse Spanning Graphs Local Algorithms for Sparse Spanning Graphs Reut Levi Dana Ron Ronitt Rubinfeld Intro slides based on a talk given by Reut Levi Minimum Spanning Graph (Spanning Tree) Local Access to a Minimum Spanning

More information

Worksheet for the Final Exam - Part I. Graphs

Worksheet for the Final Exam - Part I. Graphs Worksheet for the Final Exam - Part I. Graphs Date and Time: May 10 2012 Thursday 11:50AM~1:50PM Location: Eng 120 Start with the Self-Test Exercises (pp.816) in Prichard. 1. Give the adjacency matrix

More information

Lecture 25 Spanning Trees

Lecture 25 Spanning Trees Lecture 25 Spanning Trees 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning, Iliano Cervesato The following is a simple example of a connected, undirected graph with 5 vertices (A,

More information

Dominating Sets in Triangulations on Surfaces

Dominating Sets in Triangulations on Surfaces Dominating Sets in Triangulations on Surfaces Hong Liu Department of Mathematics University of Illinois This is a joint work with Michael Pelsmajer May 14, 2011 Introduction A dominating set D V of a graph

More information

Problem Score Maximum MC 34 (25/17) = 50 Total 100

Problem Score Maximum MC 34 (25/17) = 50 Total 100 Stony Brook University Midterm 2 CSE 373 Analysis of Algorithms November 22, 2016 Midterm Exam Name: ID #: Signature: Circle one: GRAD / UNDERGRAD INSTRUCTIONS: This is a closed book, closed mouth exam.

More information

CSE 638: Advanced Algorithms. Lectures 10 & 11 ( Parallel Connected Components )

CSE 638: Advanced Algorithms. Lectures 10 & 11 ( Parallel Connected Components ) CSE 6: Advanced Algorithms Lectures & ( Parallel Connected Components ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 01 Symmetry Breaking: List Ranking break symmetry: t h

More information

Graph Algorithms: Chapters Part 1: Introductory graph concepts

Graph Algorithms: Chapters Part 1: Introductory graph concepts UMass Lowell Computer Science 91.503 Algorithms Dr. Haim Levkowitz Fall, 2007 Graph Algorithms: Chapters 22-25 Part 1: Introductory graph concepts 1 91.404 Graph Review Elementary Graph Algorithms Minimum

More information

External Memory. Philip Bille

External Memory. Philip Bille External Memory Philip Bille Outline Computationals models Modern computers (word) RAM I/O Cache-oblivious Shortest path in implicit grid graphs RAM algorithm I/O algorithms Cache-oblivious algorithm Computational

More information

2 Lars Arge, Laura Toma and Jerey Scott Vitter 1. INTRODUCTION Geographic Information Systems (GIS) is emerging as a powerful management and analysis

2 Lars Arge, Laura Toma and Jerey Scott Vitter 1. INTRODUCTION Geographic Information Systems (GIS) is emerging as a powerful management and analysis I/O-Ecient Algorithms for Problems on Grid-based Terrains Lars Arge, Laura Toma, Jerey Scott Vitter Center for Geometric Computing Department of Computer Science, Duke University The potential and use

More information

Exercise set 2 Solutions

Exercise set 2 Solutions Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T

More information

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl Graph Theory ICT Theory Excerpt from various sources by Robert Pergl What can graphs model? Cost of wiring electronic components together. Shortest route between two cities. Finding the shortest distance

More information

Kruskal s MST Algorithm

Kruskal s MST Algorithm Kruskal s MST Algorithm CLRS Chapter 23, DPV Chapter 5 Version of November 5, 2014 Main Topics of This Lecture Kruskal s algorithm Another, but different, greedy MST algorithm Introduction to UNION-FIND

More information

csci 210: Data Structures Graph Traversals

csci 210: Data Structures Graph Traversals csci 210: Data Structures Graph Traversals Graph traversal (BFS and DFS) G can be undirected or directed We think about coloring each vertex WHITE before we start GRAY after we visit a vertex but before

More information

Lecture Notes for Chapter 23: Minimum Spanning Trees

Lecture Notes for Chapter 23: Minimum Spanning Trees Lecture Notes for Chapter 23: Minimum Spanning Trees Chapter 23 overview Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has

More information

arxiv: v3 [cs.dm] 17 May 2013

arxiv: v3 [cs.dm] 17 May 2013 Structured Recursive Separator Decompositions for Planar Graphs in Linear Time Philip N. Klein Shay Mozes Christian Sommer arxiv:1208.2223v3 [cs.dm] 17 May 2013 Abstract Given a planar graph G on n vertices

More information

Chapter 14. Graphs Pearson Addison-Wesley. All rights reserved 14 A-1

Chapter 14. Graphs Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs 2011 Pearson Addison-Wesley. All rights reserved 14 A-1 Terminology G = {V, E} A graph G consists of two sets A set V of vertices, or nodes A set E of edges A subgraph Consists of a subset

More information

Course Introduction / Review of Fundamentals of Graph Theory

Course Introduction / Review of Fundamentals of Graph Theory Course Introduction / Review of Fundamentals of Graph Theory Hiroki Sayama sayama@binghamton.edu Rise of Network Science (From Barabasi 2010) 2 Network models Many discrete parts involved Classic mean-field

More information

Dynamic Generators of Topologically Embedded Graphs David Eppstein

Dynamic Generators of Topologically Embedded Graphs David Eppstein Dynamic Generators of Topologically Embedded Graphs David Eppstein Univ. of California, Irvine School of Information and Computer Science Outline New results and related work Review of topological graph

More information

Graphs. Motivations: o Networks o Social networks o Program testing o Job Assignment Examples: o Code graph:

Graphs. Motivations: o Networks o Social networks o Program testing o Job Assignment Examples: o Code graph: Graphs Motivations: o Networks o Social networks o Program testing o Job Assignment Examples: o Code graph: S1: int x S2: If x > 0 then S3: X = x + 2; Else S4: X =x -1; End if S5: While x > 1 do S6: Print

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 10 Implementing MST Algorithms Adam Smith Minimum spanning tree (MST) Input: A connected undirected graph G = (V, E) with weight function w : E R. For now, assume

More information

Outlines: Graphs Part-2

Outlines: Graphs Part-2 Elementary Graph Algorithms PART-2 1 Outlines: Graphs Part-2 Graph Search Methods Breadth-First Search (BFS): BFS Algorithm BFS Example BFS Time Complexity Output of BFS: Shortest Path Breath-First Tree

More information

Reference Sheet for CO142.2 Discrete Mathematics II

Reference Sheet for CO142.2 Discrete Mathematics II Reference Sheet for CO14. Discrete Mathematics II Spring 017 1 Graphs Defintions 1. Graph: set of N nodes and A arcs such that each a A is associated with an unordered pair of nodes.. Simple graph: no

More information

GRAPHS (Undirected) Graph: Set of objects with pairwise connections. Why study graph algorithms?

GRAPHS (Undirected) Graph: Set of objects with pairwise connections. Why study graph algorithms? GRAPHS (Undirected) Graph: Set of objects with pairwise connections. Why study graph algorithms? Interesting and broadly useful abstraction. Challenging branch of computer science and discrete math. Hundreds

More information

Trees. Arash Rafiey. 20 October, 2015

Trees. Arash Rafiey. 20 October, 2015 20 October, 2015 Definition Let G = (V, E) be a loop-free undirected graph. G is called a tree if G is connected and contains no cycle. Definition Let G = (V, E) be a loop-free undirected graph. G is called

More information

Λέων-Χαράλαμπος Σταματάρης

Λέων-Χαράλαμπος Σταματάρης Λέων-Χαράλαμπος Σταματάρης INTRODUCTION Two classical problems of information dissemination in computer networks: The broadcasting problem: Distributing a particular message from a distinguished source

More information

Graph Algorithms. Definition

Graph Algorithms. Definition Graph Algorithms Many problems in CS can be modeled as graph problems. Algorithms for solving graph problems are fundamental to the field of algorithm design. Definition A graph G = (V, E) consists of

More information

CS/COE

CS/COE CS/COE 151 www.cs.pitt.edu/~lipschultz/cs151/ Graphs 5 3 2 4 1 Graphs A graph G = (V, E) Where V is a set of vertices E is a set of edges connecting vertex pairs Example: V = {, 1, 2, 3, 4, 5} E = {(,

More information

GRAPHICAL ALGORITHMS. UNIT _II Lecture-12 Slides No. 3-7 Lecture Slides No Lecture Slides No

GRAPHICAL ALGORITHMS. UNIT _II Lecture-12 Slides No. 3-7 Lecture Slides No Lecture Slides No GRAPHICAL ALGORITHMS UNIT _II Lecture-12 Slides No. 3-7 Lecture-13-16 Slides No. 8-26 Lecture-17-19 Slides No. 27-42 Topics Covered Graphs & Trees ( Some Basic Terminologies) Spanning Trees (BFS & DFS)

More information

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

Lecture 6 Basic Graph Algorithms

Lecture 6 Basic Graph Algorithms CS 491 CAP Intro to Competitive Algorithmic Programming Lecture 6 Basic Graph Algorithms Uttam Thakore University of Illinois at Urbana-Champaign September 30, 2015 Updates ICPC Regionals teams will be

More information

Lecture 5 February 26, 2007

Lecture 5 February 26, 2007 6.851: Advanced Data Structures Spring 2007 Prof. Erik Demaine Lecture 5 February 26, 2007 Scribe: Katherine Lai 1 Overview In the last lecture we discussed the link-cut tree: a dynamic tree that achieves

More information

Jana Kosecka. Red-Black Trees Graph Algorithms. Many slides here are based on E. Demaine, D. Luebke slides

Jana Kosecka. Red-Black Trees Graph Algorithms. Many slides here are based on E. Demaine, D. Luebke slides Jana Kosecka Red-Black Trees Graph Algorithms Many slides here are based on E. Demaine, D. Luebke slides Binary Search Trees (BSTs) are an important data structure for dynamic sets In addition to satellite

More information

Fixed-Parameter Algorithms, IA166

Fixed-Parameter Algorithms, IA166 Fixed-Parameter Algorithms, IA166 Sebastian Ordyniak Faculty of Informatics Masaryk University Brno Spring Semester 2013 Introduction Outline 1 Introduction Algorithms on Locally Bounded Treewidth Layer

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. Directed

More information

Randomized Algorithms

Randomized Algorithms Randomized Algorithms Last time Network topologies Intro to MPI Matrix-matrix multiplication Today MPI I/O Randomized Algorithms Parallel k-select Graph coloring Assignment 2 Parallel I/O Goal of Parallel

More information

Introduction to I/O Efficient Algorithms (External Memory Model)

Introduction to I/O Efficient Algorithms (External Memory Model) Introduction to I/O Efficient Algorithms (External Memory Model) Jeff M. Phillips August 30, 2013 Von Neumann Architecture Model: CPU and Memory Read, Write, Operations (+,,,...) constant time polynomially

More information

Minimum Spanning Trees and Prim s Algorithm

Minimum Spanning Trees and Prim s Algorithm Minimum Spanning Trees and Prim s Algorithm Version of October 3, 014 Version of October 3, 014 Minimum Spanning Trees and Prim s Algorithm 1 / 3 Outline Spanning trees and minimum spanning trees (MST).

More information