On External-Memory Planar Depth-First Search
|
|
- Suzan Wilcox
- 6 years ago
- Views:
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 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 informationI/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 informationOn 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 informationMassive 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 informationDistributed 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 informationGraph 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 informationMinimum 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 informationExternal-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 informationGraphs. 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 informationOutline. 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 informationI/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 informationSample 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 informationMinimum 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 informationLecture 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 informationTaking 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 information1 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 informationCOT 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 informationPart 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 informationMinimum-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 informationGraph 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 informationGreedy 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 informationI/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 informationExternal-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 informationMinimum 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 informationCSE 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 informationUnit 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 information23.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 informationGraph 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 informationMinimum 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 informationCSE 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 informationAn 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 informationWeek 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 informationIntroduction 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 informationUndirected 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 informationTaking 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 informationCOP 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 informationMinimum 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 informationMinimum 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 informationElementary 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 informationCSci 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 informationChapter 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 informationRepresentations 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 informationAlgorithms 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 informationCS 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 informationMA/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 informationComputing 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 informationImproved 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 informationGreedy 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 informationCSE4502/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 informationCSE 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 informationExternal-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 informationUndirected 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 informationCSE 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 informationChapter 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 informationCSC 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 informationComputing 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 information15-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 informationComputing 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 informationCSCE 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 informationCS302 - 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 informationDirected 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 informationCS521 \ 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 informationTaking 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 informationLocal 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 informationWorksheet 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 informationLecture 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 informationDominating 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 informationProblem 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 informationCSE 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 informationGraph 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 informationExternal 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 information2 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 informationExercise 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 informationGraph 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 informationKruskal 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 informationcsci 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 informationLecture 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 informationarxiv: 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 informationChapter 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 informationCourse 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 informationDynamic 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 informationGraphs. 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 informationAlgorithm 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 informationOutlines: 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 informationReference 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 informationGRAPHS (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 informationTrees. 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 informationGraph 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 informationCS/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 informationGRAPHICAL 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 informationLecture 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 informationLecture 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 informationLecture 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 informationJana 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 informationFixed-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 informationCopyright 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 informationRandomized 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 informationIntroduction 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 informationMinimum 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