CSE 101- Winter 18 Discussion Section Week 2
|
|
- Leslie Newman
- 5 years ago
- Views:
Transcription
1 S 101- Winter 18 iscussion Section Week 2
2 Topics Topological ordering Strongly connected components Binary search ntroduction to ivide and onquer algorithms
3 Topological ordering
4 Topological ordering => (only forward edges if vertices arranged in increasing order of labels) B
5 Topological ordering
6 Topological ordering inductive approach ow would you approach this problem?
7 Topological ordering inductive approach ow would you approach this problem? ind a vertex which you know can be labelled 1 What are the properties of such a starting vertex?
8 Topological ordering inductive approach ow would you approach this problem? ind a vertex which you know can be labelled 1 What are the properties of such a starting vertex? laim: always has some vertex with indegree = 0 Take an arbitrary vertex v. f v doesn t have indegree = 0, traverse any incoming edge to reach a predecessor of v. f this vertex doesn t have indegree = 0, traverse any incoming edge to reach a predecessor, etc. ventually, this process will either dentify a vertex with indegree = 0, or else reach a vertex that has been reached previously (a contradiction, given that is acyclic)
9 Topological ordering inductive approach ow would you approach this problem? ind a vertex which you know can be labelled 1 What are the properties of such a starting vertex? nductive (or recursive) approach ind a vertex v with indegree(v) = 0; give it lowest available label; elete v (and incident edges, update degrees of remaining edges) Repeat (Bonus) can you do the same, beginning with an ending vertex?
10 Topological ordering using S laim: n a, every edge leads to a vertex with lower post number. Why?
11 Topological ordering using S laim: n a, every edge leads to a vertex with lower post number. Why? ny edge (u,v) for which post(v) > post(u) is a back edge. But a, being acyclic, has no back edges.
12 Topological ordering using S laim: n a, every edge leads to a vertex with lower post number. Why? ny edge (u,v) for which post(v) > post(u) is a back edge. But a, being acyclic, has no back edges. Obvious solution: Run S, then perform tasks in decreasing order of post numbers Linear running time!
13 Topological ordering example B
14 Topological ordering example 1, B
15 Topological ordering example 1, B 2,3
16 Topological ordering example 1, 4,5 B 2,3
17 Topological ordering example 1,6 4,5 B 2,3
18 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B
19 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B B Vertices explored in order: B--
20 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B B 1, Vertices explored in order: B--
21 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B B 1,2 Vertices explored in order: B--
22 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B 3, B 1,2 Vertices explored in order: B--
23 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B 3,4 B 1,2 Vertices explored in order: B--
24 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B 5, 3,4 B 1,2 Vertices explored in order: B--
25 Topological ordering example 1,6 4,5 B 2,3 Vertices explored in alphabetical order Topological order: --B 5,6 3,4 B 1,2 Vertices explored in order: B-- Topological order: --B
26 Strongly onnected omponents Two vertices u and v of a directed graph are connected if there is a path from u to v and a path from v to u.
27 Strongly onnected omponents Two vertices u and v of a directed graph are connected if there is a path from u to v and a path from v to u. This definition leads to a partition of a directed graph into disjoint sets of vertices -> strongly connected components B
28 Meta graph Meta raph The graph obtained by shrinking each strongly connected component down to a single meta-node and drawing an edge from one meta-node to another if there is an edge between their respective components. Meta raph is a. (Why?) n other words, every directed graph is a dag of its strongly connected components. B
29 Meta graph Meta raph The graph obtained by shrinking each strongly connected component down to a single meta-node and drawing an edge from one meta-node to another if there is an edge between their respective components. Meta raph is a. (Why?) n other words, every directed graph is a dag of its strongly connected components. B
30 Meta graph Meta raph The graph obtained by shrinking each strongly connected component down to a single meta-node and drawing an edge from one meta-node to another if there is an edge between their respective components. Meta raph is a. (Why?) n other words, every directed graph is a dag of its strongly connected components., B,,, B
31 Binary search Looking up a word in the dictionary Problem: ind x in a sorted array [1 n] lgorithm: ompare x with middle element of array Recursively find x in left subarray or right subarray
32 Binary search pseudocode Binary_search([], key, first, last) if (first > last) return not_found mid = (first + last)/2 if (key == [mid]) return mid if (key < [mid]) return Binary_search([],key,first,mid-1) if (key > [mid]) return Binary_search([],key,mid+1,last)
33 ivide and onquer ivide the problem (instance) into one or more subproblems onquer each subproblem recursively ombine separate solutions
34 Binary search pseudocode Binary_search([], key, first, last) if (first > last) return not_found //base case mid = (first + last)/2 if (key == [mid]) return mid //divide & conquer if (key < [mid]) return Binary_search([],key,first,mid-1) if (key > [mid]) return Binary_search([],key,mid+1,last)
35 Binary search revisited ivide: compare x with middle element onquer: recurse in one subarray ombine: trivial Running time T(n) = T(n/2) + O(1) Master theorem: T(n) a T(n/b) + O(n d ) 1. T(n) = O(n d ) if a < b d 2. T(n) = O(n d log n) if a = b d 3. T(n) = O(nlogba) if a > b d Using master theorem, T(n) = O(log n) (ase 2)
36 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution
37 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1,
38 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2,
39 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 3, 2,
40 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3, 4,
41 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3, 4, 5,
42 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3, 4, 5,6
43 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3, 4, 5,6 7,
44 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3, 4, 5,6 7,8
45 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3, 4,9 5,6 7,8
46 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3,10 4,9 5,6 7,8
47 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3,10 11, 4,9 5,6 7,8
48 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2, 3,10 11,12 4,9 5,6 7,8
49 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2,13 3,10 11,12 4,9 5,6 7,8
50 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 2,13 3,10 11,12 4,9 5,6 7,8
51 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 14, 2,13 3,10 11,12 4,9 5,6 7,8
52 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. a) ndicate the pre and post numbers of the nodes. Solution 1, 14,15 2,13 3,10 11,12 4,9 5,6 7,8
53 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. B a) ndicate the pre and post numbers of the nodes. Solution 1,16 14,15 2,13 3,10 11,12 4,9 5,6 7,8
54 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. b) What are the sources and sinks of the graph?
55 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. b) What are the sources and sinks of the graph? Solution rom the S performed in the previous step we are aware that vertex is a source node since it has the highest post number.
56 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. b) What are the sources and sinks of the graph? Solution rom the S performed in the previous step, we are aware that vertex has the lowest post number. Thus, vertex is a sink.
57 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. b) What are the sources and sinks of the graph? Solution rom the S performed in the previous step, we are aware that vertex has the lowest post number. Thus, vertex is a sink. lso, in the above S while visiting the vertices in the adjacency list of vertex we could have visited vertex before vertex. This would have lead to vertex having the least post number. Thus, vertex can be a sink as well.
58 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. c) What topological ordering is found by the algorithm? Solution
59 Solved xercise Run the S-based topological ordering algorithm on the following graph. Whenever you have a choice of vertices to explore, always pick the one that is alphabetically first. c) What topological ordering is found by the algorithm? Solution
Design and Analysis of Algorithms
S 101, Winter 2018 esign and nalysis of lgorithms Lecture 3: onnected omponents lass URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ nd of Lecture 2: s, Topological Order irected cyclic raph.g., Vertices
More informationDesign 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 informationGraphs: 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 informationCSE Winter 2015 Quiz 2 Solutions
CSE 101 - Winter 2015 Quiz 2 s January 27, 2015 1. True or False: For any DAG G = (V, E) with at least one vertex v V, there must exist at least one topological ordering. (Answer: True) Fact (from class)
More informationWe can use a max-heap to sort data.
Sorting 7B N log N Sorts 1 Heap Sort We can use a max-heap to sort data. Convert an array to a max-heap. Remove the root from the heap and store it in its proper position in the same array. Repeat until
More informationDepth-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 informationDepth 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 information17/05/2018. Outline. Outline. Divide and Conquer. Control Abstraction for Divide &Conquer. Outline. Module 2: Divide and Conquer
Module 2: Divide and Conquer Divide and Conquer Control Abstraction for Divide &Conquer 1 Recurrence equation for Divide and Conquer: If the size of problem p is n and the sizes of the k sub problems are
More informationLecture 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 informationAnalyzing Complexity of Lists
Analyzing Complexity of Lists Operation Sorted Array Sorted Linked List Unsorted Array Unsorted Linked List Search( L, x ) O(logn) O( n ) O( n ) O( n ) Insert( L, x ) O(logn) O( n ) + O( 1 ) O( 1 ) + O(
More informationLecture 3: Graphs and flows
Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected
More informationDepth 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 informationAlgorithms and Data Structures 2014 Exercises and Solutions Week 9
Algorithms and Data Structures 2014 Exercises and Solutions Week 9 November 26, 2014 1 Directed acyclic graphs We are given a sequence (array) of numbers, and we would like to find the longest increasing
More informationU.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, Midterm 1 Solutions
U.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, 2013 Midterm 1 Solutions 1 True/False 1. The Mayan base 20 system produces representations of size that is asymptotically
More informationCS473 - Algorithms I
CS473 - Algorithms I Lecture 4 The Divide-and-Conquer Design Paradigm View in slide-show mode 1 Reminder: Merge Sort Input array A sort this half sort this half Divide Conquer merge two sorted halves Combine
More informationGraph 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 information1 Digraphs. Definition 1
1 Digraphs Definition 1 Adigraphordirected graphgisatriplecomprisedofavertex set V(G), edge set E(G), and a function assigning each edge an ordered pair of vertices (tail, head); these vertices together
More informationCS4800: Algorithms & Data Jonathan Ullman
CS4800: Algorithms & Data Jonathan Ullman Lecture 12: Graph Search: BFS Applications, DFS Feb 20, 2018 BFS Review BFS Algorithm: Input: source node! " # =! " % = all neighbors of " # " & = all neighbors
More informatione-pg PATHSHALA- Computer Science Design and Analysis of Algorithms Module 14 Component-I (A) - Personal Details
e-pg PATHSHALA- Computer Science Design and Analysis of Algorithms Module 14 Component-I (A) - Personal Details Role Name Designation Principal Investigator Dr.T.V.Geetha Senior Professor, Department of
More informationThese are not polished as solutions, but ought to give a correct idea of solutions that work. Note that most problems have multiple good solutions.
CSE 591 HW Sketch Sample Solutions These are not polished as solutions, but ought to give a correct idea of solutions that work. Note that most problems have multiple good solutions. Problem 1 (a) Any
More informationSpanning 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 informationCSE 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 informationPractice Problems for the Final
ECE-250 Algorithms and Data Structures (Winter 2012) Practice Problems for the Final Disclaimer: Please do keep in mind that this problem set does not reflect the exact topics or the fractions of each
More informationAlgorithms (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 informationAlgorithms (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 information3.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 informationFINAL EXAM SOLUTIONS
COMP/MATH 3804 Design and Analysis of Algorithms I Fall 2015 FINAL EXAM SOLUTIONS Question 1 (12%). Modify Euclid s algorithm as follows. function Newclid(a,b) if a
More informationCISC 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 informationDESIGN AND ANALYSIS OF ALGORITHMS
NPTEL MOOC,JAN-FEB 205 Week 3, Module 6 DESIGN AND ANALYSIS OF ALGORITHMS Directed acyclic graphs (DAGs) MADHAVAN MUKUND, CHENNAI MATHEMATICAL INSTITUTE http://www.cmi.ac.in/~madhavan Tasks with constraints
More informationNotes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 10 Notes. Class URL:
Notes slides from before lecture CSE 21, Winter 2017, Section A00 Lecture 10 Notes Class URL: http://vlsicad.ucsd.edu/courses/cse21-w17/ Notes slides from before lecture Notes February 13 (1) HW5 is due
More informationCSE 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 informationCS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019
CS 341: Algorithms Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo February 26, 2019 D.R. Stinson (SCS) CS 341 February 26, 2019 1 / 296 1 Course Information 2 Introduction
More informationCOL 702 : Assignment 1 solutions
COL 70 : Assignment 1 solutions 1(a ( n T (n = T + bn log n ( n = T + b n ( n log + bn log n ( n = T + b n ( n 8 log + b n log ( n + bn log n = bn log n + b n log n + bn log n +... log n terms = nb [(log
More informationNotes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 9 Notes. Class URL:
Notes slides from before lecture CSE 21, Winter 2017, Section A00 Lecture 9 Notes Class URL: http://vlsicad.ucsd.edu/courses/cse21-w17/ Notes slides from before lecture Notes February 8 (1) HW4 is due
More informationDirected acyclic graphs
Directed acyclic graphs Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan March, 2 Directed Graphs 2 3 4 5 x v y Edges have direction. Cannot be traversed
More informationUnit-2 Divide and conquer 2016
2 Divide and conquer Overview, Structure of divide-and-conquer algorithms, binary search, quick sort, Strassen multiplication. 13% 05 Divide-and- conquer The Divide and Conquer Paradigm, is a method of
More informationIS 709/809: Computational Methods in IS Research. Graph Algorithms: Introduction
IS 709/809: Computational Methods in IS Research Graph Algorithms: Introduction Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Motivation Several real-life
More informationCS170 Discussion Section 4: 9/18
CS170 Discussion Section 4: 9/18 1. Alien alphabet. Suppose you have a dictionary of an alien language which lists words in some sorted lexicographical ordering. For example, given the following list of
More informationAnalysis 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 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 informationSolving Linear Recurrence Relations (8.2)
EECS 203 Spring 2016 Lecture 18 Page 1 of 10 Review: Recurrence relations (Chapter 8) Last time we started in on recurrence relations. In computer science, one of the primary reasons we look at solving
More informationCS 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 informationAlgorithm 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 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 informationTrees. Russell Impagliazzo and Miles Jones Thanks to Janine Tiefenbruck. April 29, 2016
Trees Russell Impagliazzo and Miles Jones Thanks to Janine Tiefenbruck http://cseweb.ucsd.edu/classes/sp16/cse21-bd/ April 29, 2016 Another Special Type of Graph: Trees Trees 1. Definitions of trees 2.
More informationAdvanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012
topological ordering, minimum spanning tree, Union-Find problem Jiří Vyskočil, Radek Mařík 2012 Subgraph subgraph A graph H is a subgraph of a graph G, if the following two inclusions are satisfied: 2
More informationGraphs: 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 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 informationCSE 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 informationGRAPHS 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 informationDecreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )
Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 1. if >. 2. error new key is greater than current key 3.. 4.. 5. if NIL and.
More informationRandomized Algorithms: Selection
Randomized Algorithms: Selection CSE21 Winter 2017, Day 25 (B00), Day 16 (A00) March 15, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Selection Problem: WHAT Given list of distinct integers a 1, a 2,,
More informationShortest Path Problem
Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths
More informationA loose end: binary search
COSC311 CRN 17281 - Session 20 (Dec. 3, 2018) A loose end: binary search binary search algorithm vs binary search tree A binary search tree, such as AVL, is a data structure. Binary search is an algorithm
More informationThe divide-and-conquer paradigm involves three steps at each level of the recursion: Divide the problem into a number of subproblems.
2.3 Designing algorithms There are many ways to design algorithms. Insertion sort uses an incremental approach: having sorted the subarray A[1 j - 1], we insert the single element A[j] into its proper
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationCOL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number:
Name: Entry number: There are 6 questions for a total of 75 points. 1. Consider functions f(n) = 10n2 n + 3 n and g(n) = n3 n. Answer the following: (a) ( 1 / 2 point) State true or false: f(n) is O(g(n)).
More informationSolutions to relevant spring 2000 exam problems
Problem 2, exam Here s Prim s algorithm, modified slightly to use C syntax. MSTPrim (G, w, r): Q = V[G]; for (each u Q) { key[u] = ; key[r] = 0; π[r] = 0; while (Q not empty) { u = ExtractMin (Q); for
More informationCPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60
CPS 102: Discrete Mathematics Instructor: Bruce Maggs Quiz 3 Date: Wednesday November 30, 2011 NAME: Prob # Score Max Score 1 10 2 10 3 10 4 10 5 10 6 10 Total 60 1 Problem 1 [10 points] Find a minimum-cost
More informationCSE 373 Final Exam 3/14/06 Sample Solution
Question 1. (6 points) A priority queue is a data structure that supports storing a set of values, each of which has an associated key. Each key-value pair is an entry in the priority queue. The basic
More informationLecture 9: Sorting Algorithms
Lecture 9: Sorting Algorithms Bo Tang @ SUSTech, Spring 2018 Sorting problem Sorting Problem Input: an array A[1..n] with n integers Output: a sorted array A (in ascending order) Problem is: sort A[1..n]
More informationICS 311, Fall 2017, Problem Set 04, Topics 7 & 8
ICS 311, Fall 2017, Problem Set 04, Topics 7 & 8 Due by midnight Tuesday 2/16. 35 points. #1. Peer Credit Assignment 1 Point Extra Credit for replying Please list the names of the other members of your
More informationThe 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 informationCPE702 Algorithm Analysis and Design Week 7 Algorithm Design Patterns
CPE702 Algorithm Analysis and Design Week 7 Algorithm Design Patterns Pruet Boonma pruet@eng.cmu.ac.th Department of Computer Engineering Faculty of Engineering, Chiang Mai University Based on Slides by
More informationCSC Design and Analysis of Algorithms. Lecture 5. Decrease and Conquer Algorithm Design Technique. Decrease-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 5 Decrease and Conquer Algorithm Design Technique Decrease-and-Conquer This algorithm design technique is based on exploiting a relationship between
More informationAdjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.
1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one
More informationDEPTH-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 informationCS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department
CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of
More information2. Instance simplification Solve a problem s instance by transforming it into another simpler/easier instance of the same problem
CmSc 20 Intro to Algorithms Chapter 6. Transform and Conquer Algorithms. Introduction This group of techniques solves a problem by a transformation to a simpler/more convenient instance of the same problem
More information3.4 Testing Bipartiteness
3.4 Testing Bipartiteness Bipartite Graphs Def. An undirected graph G = (V, E) is bipartite (2-colorable) if the nodes can be colored red or blue such that no edge has both ends the same color. Applications.
More informationDFS 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 informationStrongly 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 informationShortest path problems
Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths
More informationExercise 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 informationDivide and Conquer 4-0
Divide and Conquer 4-0 Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide instance of problem into two or more smaller instances 2. Solve smaller instances recursively 3. Obtain
More informationInf 2B: Graphs II - Applications of DFS
Inf 2B: Graphs II - Applications of DFS Kyriakos Kalorkoti School of Informatics University of Edinburgh Reminder: Recursive DFS Algorithm dfs(g) 1. Initialise Boolean array visited by setting all entries
More informationCOMP 251 Winter 2017 Online quizzes with answers
COMP 251 Winter 2017 Online quizzes with answers Open Addressing (2) Which of the following assertions are true about open address tables? A. You cannot store more records than the total number of slots
More informationDivide-and-Conquer. The most-well known algorithm design strategy: smaller instances. combining these solutions
Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide instance of problem into two or more smaller instances 2. Solve smaller instances recursively 3. Obtain solution to original
More informationParallel Algorithms for (PRAM) Computers & Some Parallel Algorithms. Reference : Horowitz, Sahni and Rajasekaran, Computer Algorithms
Parallel Algorithms for (PRAM) Computers & Some Parallel Algorithms Reference : Horowitz, Sahni and Rajasekaran, Computer Algorithms Part 2 1 3 Maximum Selection Problem : Given n numbers, x 1, x 2,, x
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 informationDiscrete Structures CISC 2315 FALL Graphs & Trees
Discrete Structures CISC 2315 FALL 2010 Graphs & Trees Graphs A graph is a discrete structure, with discrete components Components of a Graph edge vertex (node) Vertices A graph G = (V, E), where V is
More informationQuestion Bank Subject: Advanced Data Structures Class: SE Computer
Question Bank Subject: Advanced Data Structures Class: SE Computer Question1: Write a non recursive pseudo code for post order traversal of binary tree Answer: Pseudo Code: 1. Push root into Stack_One.
More informationChapter 3. Graphs CLRS Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 3 Graphs CLRS 12-13 Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 25 3.4 Testing Bipartiteness Bipartite Graphs Def. An undirected graph G = (V, E) is bipartite
More informationHomework 2. Sample Solution. Due Date: Thursday, May 31, 11:59 pm
Homework Sample Solution Due Date: Thursday, May 31, 11:59 pm Directions: Your solutions should be typed and submitted as a single pdf on Gradescope by the due date. L A TEX is preferred but not required.
More informationProblem. Input: An array A = (A[1],..., A[n]) with length n. Output: a permutation A of A, that is sorted: A [i] A [j] for all. 1 i j n.
Problem 5. Sorting Simple Sorting, Quicksort, Mergesort Input: An array A = (A[1],..., A[n]) with length n. Output: a permutation A of A, that is sorted: A [i] A [j] for all 1 i j n. 98 99 Selection Sort
More informationThe Konigsberg Bridge Problem
The Konigsberg Bridge Problem This is a classic mathematical problem. There were seven bridges across the river Pregel at Königsberg. Is it possible to take a walk in which each bridge is crossed exactly
More informationDigraphs ( 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 informationCSE 421 Greedy Alg: Union Find/Dijkstra s Alg
CSE 1 Greedy Alg: Union Find/Dijkstra s Alg Shayan Oveis Gharan 1 Dijkstra s Algorithm Dijkstra(G, c, s) { d s 0 foreach (v V) d[v] //This is the key of node v foreach (v V) insert v onto a priority queue
More informationAlgorithms (IX) Guoqiang Li. School of Software, Shanghai Jiao Tong University
Algorithms (IX) Guoqiang Li School of Software, Shanghai Jiao Tong University Q: What we have learned in Algorithm? Algorithm Design Algorithm Design Basic methodologies: Algorithm Design Algorithm Design
More informationStrongly Connected Components
Strongly Connected Components Let G = (V, E) be a directed graph Write if there is a path from to in G Write if and is an equivalence relation: implies and implies s equivalence classes are called the
More informationCSC Design and Analysis of Algorithms. Lecture 5. Decrease and Conquer Algorithm Design Technique. Decrease-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 5 Decrease and Conuer Algorithm Design Techniue Decrease-and-Conuer This algorithm design techniue is based on exploiting a relationship between a solution
More informationData Structures and Algorithms CMPSC 465
Data Structures and Algorithms CMPSC 465 LECTURES 7-8 More Divide and Conquer Multiplication Adam Smith S. Raskhodnikova and A. Smith; based on slides by E. Demaine and C. Leiserson John McCarthy (1927
More informationModule 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 informationChapter 5. Decrease-and-Conquer. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 5 Decrease-and-Conquer Copyright 2007 Pearson Addison-Wesley. All rights reserved. Decrease-and-Conquer 1. Reduce problem instance to smaller instance of the same problem 2. Solve smaller instance
More informationCS Algorithms and Complexity
CS 350 - Algorithms and Complexity Basic Sorting Sean Anderson 1/18/18 Portland State University Table of contents 1. Core Concepts of Sort 2. Selection Sort 3. Insertion Sort 4. Non-Comparison Sorts 5.
More informationCPS 616 TRANSFORM-AND-CONQUER 7-1
CPS 616 TRANSFORM-AND-CONQUER 7-1 TRANSFORM AND CONQUER Group of techniques to solve a problem by first transforming the problem into one of: 1. a simpler/more convenient instance of the same problem (instance
More informationTCOM 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 informationLecture 7. Transform-and-Conquer
Lecture 7 Transform-and-Conquer 6-1 Transform and Conquer This group of techniques solves a problem by a transformation to a simpler/more convenient instance of the same problem (instance simplification)
More informationUndirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11
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. V = {
More informationCSI 604 Elementary Graph Algorithms
CSI 604 Elementary Graph Algorithms Ref: Chapter 22 of the text by Cormen et al. (Second edition) 1 / 25 Graphs: Basic Definitions Undirected Graph G(V, E): V is set of nodes (or vertices) and E is the
More information