Change in Schedule. I'm changing the schedule around a bit...
|
|
- Angelina Moore
- 6 years ago
- Views:
Transcription
1 Graphs
2 Announcements() {
3 Change in Schedule I'm changing the schedule around a bit... Today: Graphs Tuesday: Shortest Path Algorithms Wednesday: Minimum Spanning Trees Tursday: Review Session for Midterm II
4 Final Final: Monday, August 12th, 7-10pm Location: Cubberly Auditorium Cumulative (but weighted towards post midterm material) Covers material up through Tuesday SCPD students and students who require special arrangements should me in the next couple days We do the final early so we have time to grade it, get it back to you and resolve any grading issues.
5 } //Announcements
6 Data Structures Cheat Sheet Vector, Stack: dynamic array Queue: linked list or dynamic array Set, Map: Binary Search Tree HashSet, HashMap: Hash Table Lexicon: Trie
7 Graphs
8 A Social Network
9
10
11 A graph is a mathematical structure for representing relationships.
12 A graph is a mathematical structure for representing relationships. A graph consists of a set of nodes connected by edges.
13 A graph is a mathematical structure for representing relationships. A graph consists of a set of nodes connected by edges.
14 A graph is a mathematical structure for representing relationships. A graph consists of a set of nodes connected by edges.
15 A graph is a mathematical structure for representing relationships. Nodes A graph consists of a set of nodes connected by edges.
16 A graph is a mathematical structure for representing relationships. Edges A graph consists of a set of nodes connected by edges.
17 Some graphs are directed.
18 Some graphs are undirected. CAN MAN RAN MAT CAT SAT RAT
19 Some graphs are undirected. CAN MAN RAN MAT CAT SAT RAT You can think of them as directed graphs with edges both ways.
20 Graphs Yo Teach, why are we studying graphs? We study graphs because a lot of problems can be modeled in terms of graphs Also, there are many off-the-shelf graph algorithms that we apply if we're able to formulate a problem as a graph problem.
21 Pathfinding Each intersection is a node Each street connecting intersections is an edge Find paths between intersections that minimize distance or travel time
22 Content-Aware Resizing
23 Content-Aware Resizing Each pixel is a node in a graph Each pixel is connected to adjacent pixels Find paths from the top of the image to the bottom that minimize the energy function
24 The Wikipedia Graph Wikipedia (and the web in general) is a graph! Each page is a node. There is an edge from one page to another if the first page links to the second.
25 Social Networks and Epidemics %2Finfo2040%2F2011%2F09%2F17%2Fhow-network-structure-can-provide-advanced-warning-about-epidemics %2F&ei=rrP9Ufa8G6n0iwK9q4CoBQ&bvm=bv ,d.cGE&psig=AFQjCNHljXC1ZggH6hQDrKxPM1CV7ocVXQ&ust=
26 How can we represent graphs in C++?
27 Representing Graphs We Wecan canrepresent representaagraph graphas as aamap mapfrom fromnodes nodesto tothe thelist list of ofnodes nodeseach eachnode nodeisis connected connectedto. to. Map<Node*, Vector<Node*>> Node* Vector<Node*> Node Connected To
28 What interesting things can we do with graphs?
29 Connected Components A connected component is a subset of the nodes in a graph such that: For every pair of nodes in the subset there exists a path between them No node in the subset is not connected any node not in the subset
30 Connected Components 1 Connected Component
31 Connected Components 2 Connected Components
32 Connected Components 3 Connected Components
33 Connected Components 6 Connected Components
34 Connected Components Detecting connected components in a graph is important because it can provide useful insights into the structure of graph e.g. How do people in a community separate themselves into separate groups. In order to detect connected components we first need to be able to iterate over nodes in a graph. We'll come back to connected components later.
35 Iterating over a Graph Given a linked list, there was just one way to traverse the list. Keep going forward. In a binary search tree, there are many traversal strategies: An inorder traversal that produces all the elements in sorted order. A postorder traversal used to delete all the nodes in the BST. There are many ways to iterate over a graph.
36 Iterating over a Graph All methods of iterating over a graph involve keeping track of 3 sets of nodes: Set of Nodes already visited Set of Nodes to look at next Everything else
37 Iterating over a Graph
38 Iterating over a Graph
39 Iterating over a Graph
40 Iterating over a Graph
41 Iterating over a Graph
42 Iterating over a Graph
43 Iterating over a Graph
44 Iterating over a Graph
45 Iterating over a Graph
46 Iterating over a Graph
47 Iterating over a Graph
48 Iterating over a Graph
49 Iterating over a Graph
50 Iterating over a Graph
51 Iterating over a Graph
52 Iterating over a Graph
53 Iterating over a Graph
54 Iterating over a Graph
55 Iterating over a Graph
56 Iterating over a Graph
57 Iterating over a Graph
58 Iterating over a Graph
59 Iterating over a Graph
60 Iterating over a Graph
61 Iterating over a Graph
62 Iterating over a Graph
63 Iterating over a Graph
64 Iterating over a Graph
65 Iterating over a Graph
66 Iterating over a Graph
67 Iterating over a Graph
68 Iterating over a Graph
69 Iterating over a Graph
70 Iterating over a Graph
71 Iterating over a Graph All methods of iterating over a graph involve keeping track of 3 sets of nodes: Set of Nodes already visited Set of Nodes to look at next Everything else Methods of iterating over nodes differ in how they choose which node to look at next
72 Recursive Depth First Search To detect connected components we just want to see whether or not some path exists between them (we don't care about finding the shortest path). One way to detect connectivity would be to just pick an arbitrary direction and keep following it. When you run out of room to go in one direction, just go back and look in a different direction
73 Recursive Depth-First Search
74 Recursive Depth-First Search
75 Recursive Depth-First Search
76 Recursive Depth-First Search
77 Recursive Depth-First Search
78 Recursive Depth-First Search
79 Recursive Depth-First Search
80 Recursive Depth-First Search
81 Recursive Depth-First Search
82 Recursive Depth-First Search
83 Recursive Depth-First Search
84 Recursive Depth-First Search
85 Recursive Depth-First Search
86 Recursive Depth-First Search
87 Recursive Depth-First Search
88 Recursive Depth-First Search
89 Recursive Depth-First Search
90 Recursive Depth-First Search
91 Recursive Depth-First Search
92 Recursive Depth-First Search
93 Recursive Depth-First Search
94 Recursive Depth-First Search
95 Recursive Depth-First Search
96 Recursive Depth-First Search
97 Recursive Depth-First Search
98 Recursive Depth-First Search
99 Recursive Depth-First Search
100 Recursive Depth-First Search
101 Recursive Depth-First Search
102 Recursive Depth-First Search
103 Recursive Depth-First Search
104 Recursive Depth-First Search
105 Recursive Depth-First Search
106 Recursive Depth-First Search
107 Recursive Depth-First Search
108 Recursive Depth-First Search
109 Recursive Depth-First Search
110 Recursive Depth-First Search
111 Recursive Depth-First Search
112 Recursive Depth-First Search
113 Recursive Depth-First Search
114 Recursive Depth-First Search
115 Recursive Depth-First Search
116 Recursive Depth-First Search To do a depth-first search (DFS) from a node u, do the following: If u is already marked, stop. Mark u. For each neighbor v of u: Recursively run DFS from v. The backtracking here is similar to the backtracking done in standard recursion.
117 Iterative Depth-First Search DFS is most commonly implemented iteratively using a Stack
118 Depth-first search A B C D E F
119 Depth-first search A B C D E F Set Stack
120 Depth-first search A B C D E F A Set Stack
121 Depth-first search A B C D E F Set Stack
122 Depth-first search A B C D E F Set A Stack
123 Depth-first search A B C D E F E B Set A Stack
124 Depth-first search A B C D E F E B Set A Stack
125 Depth-first search A B C D E F B Set A Stack
126 Depth-first search A B C D E F E Set A B Stack
127 Depth-first search A B C D E F C F E Set A D B Stack
128 Depth-first search A B C D E F C F E Set A D B Stack
129 Depth-first search A B C D E F F E Set A D B Stack
130 Depth-first search A B C D E F F D E B Set A Stack C
131 Depth-first search A B C D E F B F D E B Set A Stack C
132 Depth-first search A B C D E F B F D E B Set A Stack C
133 Depth-first search A B C D E F B F D E B Set A Stack C
134 Depth-first search A B C D E F F D E B Set A Stack C
135 Depth-first search A B C D E F F D E B Set A B Stack C
136 Depth-first search A B C D E F F D E B Set A B Stack C
137 Depth-first search A B C D E F D E B Set A B Stack C
138 Depth-first search A B C D E F E D F Set A B B Stack C
139 Depth-first search A B C D E F E D F Set A B B Stack C
140 Depth-first search A B C D E F E F Set A B B Stack C
141 Depth-first search A B C D E F D E F Set A B B Stack C
142 Depth-first search A B C D E F D E F Set A B B Stack C
143 Depth-first search A B C D E F D E F Set A B Stack C
144 Coding Depth-First Search
145 DFS and Connected Components Detecting connected components becomes relatively straightforward once we have Depth First Search. Not going to code it up, but I encourage you to!
146 Problems with DFS Useful when trying to explore everything. Not good at finding shortest paths.
147 Problems with DFS Useful when trying to explore everything. Not good at finding shortest paths. Stack
148 Problems with DFS Useful when trying to explore everything. Not good at finding shortest paths. A B Stack
149 Problems with DFS Useful when trying to explore everything. Not good at finding shortest paths. A B A B Stack
150 Breadth-First Search
151
152
153
154
155
156
157
158
159 Breadth-First Search Specialization of the general search algorithm where nodes to visit are put into a queue. Explores nodes one hop away, then two hops away, etc. Finds path with fewest edges from start node to all other nodes.
160 Note: The following animation has been simplified for pedagogic purposes. In reality there would be a Set keeping track of visited nodes and redundant adds to the Queue
161 Breadth-first search A B C D E F
162 Breadth-first search Queue A B C D E F
163 Breadth-first search Queue A A B C D E F
164 Breadth-first search Queue A B C D E F
165 Breadth-first search Queue B A B C D E F E
166 Breadth-first search Queue B A B C D E F E
167 Breadth-first search Queue E A B C D E F
168 Breadth-first search Queue E A B C D E F C
169 Breadth-first search Queue E A B C D E F C
170 Breadth-first search Queue A B C D E F C
171 Breadth-first search Queue A B C D E F C D F
172 Breadth-first search Queue A B C D E F C D F
173 Breadth-first search Queue D A B C D E F F
174 Breadth-first search Queue D A B C D E F F
175 Breadth-first search Queue F A B C D E F
176 Breadth-first search Queue F A B C D E F
177 Breadth-first search Queue A B C D E F
178 Breadth-first search Queue A B C D E F
179 Coding Breadth-First Search
180 CAN MAN RAN MAT CAT SAT RAT
181 CAN MAN RAN MAT CAT SAT RAT
182 CAN MAN RAN MAT CAT SAT RAT
183 CAN MAN RAN MAT CAT SAT RAT
184 CAN MAN RAN MAT CAT SAT RAT
185 CAN CAT RAN
186 Next Time Shortest Paths Dijkstra's Algorithm. A* Search.
Introduction to Graphs. CS2110, Spring 2011 Cornell University
Introduction to Graphs CS2110, Spring 2011 Cornell University A graph is a data structure for representing relationships. Each graph is a set of nodes connected by edges. Synonym Graph Hostile Slick Icy
More informationSynonyms. Hostile. Chilly. Direct. Sharp
Graphs and Networks A Social Network Synonyms Hostile Slick Icy Direct Nifty Cool Abrupt Sharp Composed Chilly Chemical Bonds http://4.bp.blogspot.com/-xctbj8lkhqa/tjm0bonwbri/aaaaaaaaak4/-mhrbauohhg/s600/ethanol.gif
More informationCSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014
CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up Nicki Dell Spring 2014 Final Exam As also indicated on the web page: Next Tuesday, 2:30-4:20 in this room Cumulative but
More informationFriday Four Square! 4:15PM, Outside Gates
Binary Search Trees Friday Four Square! 4:15PM, Outside Gates Implementing Set On Monday and Wednesday, we saw how to implement the Map and Lexicon, respectively. Let's now turn our attention to the Set.
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 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 informationR13. II B. Tech I Semester Supplementary Examinations, May/June DATA STRUCTURES (Com. to ECE, CSE, EIE, IT, ECC)
SET - 1 II B. Tech I Semester Supplementary Examinations, May/June - 2016 PART A 1. a) Write a procedure for the Tower of Hanoi problem? b) What you mean by enqueue and dequeue operations in a queue? c)
More informationCS106X Final Review. Rachel Gardner and Jared Bitz. slides adapted from Ashley Taylor, Anton Apostolatos, Nolan Handali, and Zachary Birnholz
CS106X Final Review Rachel Gardner and Jared Bitz slides adapted from Ashley Taylor, Anton Apostolatos, Nolan Handali, and Zachary Birnholz Final Review Session Overview Logistics Pointers and Dynamic
More informationCSE 373 NOVEMBER 20 TH TOPOLOGICAL SORT
CSE 373 NOVEMBER 20 TH TOPOLOGICAL SORT PROJECT 3 500 Internal Error problems Hopefully all resolved (or close to) P3P1 grades are up (but muted) Leave canvas comment Emails tomorrow End of quarter GRAPHS
More informationcsci 210: Data Structures Graph Traversals
csci 210: Data Structures Graph Traversals 1 Depth-first search (DFS) G can be directed or undirected DFS(v) mark v visited for all adjacent edges (v,w) of v do if w is not visited parent(w) = v (v,w)
More informationCISC 3130 Data Structures Spring 2018
CISC 3130 Data Structures Spring 2018 Instructor: Ari Mermelstein Email address for questions: mermelstein AT sci DOT brooklyn DOT cuny DOT edu Email address for homework submissions: mermelstein DOT homework
More informationCS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems
CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 25: Review and Open Problems Course Overview Programming Concepts Object-Oriented Programming Interfaces
More informationGraphs & Digraphs Tuesday, November 06, 2007
Graphs & Digraphs Tuesday, November 06, 2007 10:34 PM 16.1 Directed Graphs (digraphs) like a tree but w/ no root node & no guarantee of paths between nodes consists of: nodes/vertices - a set of elements
More informationCSE 373: Data Structures and Algorithms
CSE 373: Data Structures and Algorithms Lecture 6: Dijkstra s Algorithm (Graphs) Instructor: Lilian de Greef Quarter: Summer 207 Today Announcements Graph Traversals Continued Remarks on DFS & BFS Shortest
More information(Refer Slide Time: 05:25)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering IIT Delhi Lecture 30 Applications of DFS in Directed Graphs Today we are going to look at more applications
More informationCSE 100: GRAPH SEARCH
CSE 100: GRAPH SEARCH Announcements PA3 released Checkpoint due Tuesday, May 5 @10:00pm Final submission due Thursday, May 14 @10:00PM Start early! Start early! Start early! Start early! Start early! I
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 informationLECTURE 17 GRAPH TRAVERSALS
DATA STRUCTURES AND ALGORITHMS LECTURE 17 GRAPH TRAVERSALS IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD STRATEGIES Traversals of graphs are also called searches We can use either breadth-first
More informationCSE 373 APRIL 17 TH TREE BALANCE AND AVL
CSE 373 APRIL 17 TH TREE BALANCE AND AVL ASSORTED MINUTIAE HW3 due Wednesday Double check submissions Use binary search for SADict Midterm text Friday Review in Class on Wednesday Testing Advice Empty
More informationCSC2100-Data Structures
CSC2100-Data Structures Final Remarks Department of Computer Science and Engineering The Chinese University of Hong Kong, Shatin, New Territories Interesting Topics More Graph Algorithms Finding cycles,
More informationCSE 100: GRAPH ALGORITHMS
CSE 100: GRAPH ALGORITHMS 2 Graphs: Example A directed graph V5 V = { V = E = { E Path: 3 Graphs: Definitions A directed graph V5 V6 A graph G = (V,E) consists of a set of vertices V and a set of edges
More informationSpanning Trees 4/19/17. Prelim 2, assignments. Undirected trees
/9/7 Prelim, assignments Prelim is Tuesday. See the course webpage for details. Scope: up to but not including today s lecture. See the review guide for details. Deadline for submitting conflicts has passed.
More informationSpanning Trees. Lecture 22 CS2110 Spring 2017
1 Spanning Trees Lecture 22 CS2110 Spring 2017 1 Prelim 2, assignments Prelim 2 is Tuesday. See the course webpage for details. Scope: up to but not including today s lecture. See the review guide for
More information2. True or false: even though BFS and DFS have the same space complexity, they do not always have the same worst case asymptotic time complexity.
1. T F: Consider a directed graph G = (V, E) and a vertex s V. Suppose that for all v V, there exists a directed path in G from s to v. Suppose that a DFS is run on G, starting from s. Then, true or false:
More information17 February Given an algorithm, compute its running time in terms of O, Ω, and Θ (if any). Usually the big-oh running time is enough.
Midterm Review CSE 2011 Winter 2011 17 February 2011 1 Algorithm Analysis Given an algorithm, compute its running time in terms of O, Ω, and Θ (if any). Usually the big-oh running time is enough. Given
More informationCS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon
CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon Instructor Course name Credits Contact hours Text book Course Information Course Goals Jungsoo (Sue)
More informationCS6301 Programming and Data Structures II Unit -5 REPRESENTATION OF GRAPHS Graph and its representations Graph is a data structure that consists of following two components: 1. A finite set of vertices
More informationBinary Trees
Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what
More informationPrelim 2. CS 2110, November 20, 2014, 7:30 PM Extra Total Question True/False Short Answer
Prelim 2 CS 2110, November 20, 2014, 7:30 PM 1 2 3 4 5 Extra Total Question True/False Short Answer Complexity Induction Trees Graphs Extra Credit Max 20 10 15 25 30 5 100 Score Grader The exam is closed
More informationTeach A level Compu/ng: Algorithms and Data Structures
Teach A level Compu/ng: Algorithms and Data Structures Eliot Williams @MrEliotWilliams Course Outline 1 Representaons of data structures: Arrays, tuples, Stacks, Queues,Lists 2 Recursive Algorithms 3 Searching
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 informationHi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we
Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we have to talk about the way in which we represent the
More informationCOMPSCI 311: Introduction to Algorithms First Midterm Exam, October 3, 2018
COMPSCI 311: Introduction to Algorithms First Midterm Exam, October 3, 2018 Name: ID: Answer the questions directly on the exam pages. Show all your work for each question. More detail including comments
More informationSynonyms. Hostile. Chilly. Direct. Sharp
Graphs and Networks A Social Network Synonyms Hostile Slick Icy Direct Nifty Cool Abrupt Sharp Composed Chilly Chemical Bonds http://4.bp.blogspot.com/-xctbj8lkhqa/tjm0bonwbri/aaaaaaaaak4/-mhrbauohhg/s600/ethanol.gif
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 informationCS210 (161) with Dr. Basit Qureshi Final Exam Weight 40%
CS210 (161) with Dr. Basit Qureshi Final Exam Weight 40% Name ID Directions: There are 9 questions in this exam. To earn a possible full score, you must solve all questions. Time allowed: 180 minutes Closed
More informationLecture 27: Learning from relational data
Lecture 27: Learning from relational data STATS 202: Data mining and analysis December 2, 2017 1 / 12 Announcements Kaggle deadline is this Thursday (Dec 7) at 4pm. If you haven t already, make a submission
More informationGraphs Introduction and Depth first algorithm
Graphs Introduction and Depth first algorithm Carol Zander Introduction to graphs Graphs are extremely common in computer science applications because graphs are common in the physical world. Everywhere
More informationMinimum Spanning Trees
Minimum Spanning Trees 5 7 1 6 7 6 8 2 3 4 12 1 9 5 7 1 6 7 6 8 2 3 4 12 This This graph graph is is not not connected. connected. 1 9 5 7 1 6 7 6 8 2 3 4 12 There There is is a a cycle cycle in in this
More informationCS302 Data Structures using C++
CS302 Data Structures using C++ Study Guide for the Final Exam Fall 2018 Revision 1.1 This document serves to help you prepare towards the final exam for the Fall 2018 semester. 1. What topics are to be
More informationSpanning Trees, greedy algorithms. Lecture 22 CS2110 Fall 2017
1 Spanning Trees, greedy algorithms Lecture 22 CS2110 Fall 2017 1 We demo A8 Your space ship is on earth, and you hear a distress signal from a distance Planet X. Your job: 1. Rescue stage: Fly your ship
More information9/17/2015 7:56 AM. CSCE 625 Programing Assignment #1 due: Tues, Sep 22 (by start of class) Objective
CSCE 625 Programing Assignment #1 due: Tues, Sep 22 (by start of class) Objective The goal of this assignment is to implement and compare the performance of Breadth-first search (BFS), Depth-First Search
More informationCS503 Advanced Programming I CS305 Computer Algorithms I
Syllabus: CS503 Advanced Programming I CS305 Computer Algorithms I Course Number: CS503-50/CS305-50 Course Title: Advanced Programming I/Computer Algorithms I Instructor: Richard Scherl Office: Howard
More informationCS 310 Advanced Data Structures and Algorithms
CS 31 Advanced Data Structures and Algorithms Graphs July 18, 17 Tong Wang UMass Boston CS 31 July 18, 17 1 / 4 Graph Definitions Graph a mathematical construction that describes objects and relations
More information12 Abstract Data Types
12 Abstract Data Types 12.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT). Define
More informationCSCE 321/3201 Analysis and Design of Algorithms. Prof. Amr Goneid. Fall 2016
CSCE 321/3201 Analysis and Design of Algorithms Prof. Amr Goneid Fall 2016 CSCE 321/3201 Analysis and Design of Algorithms Prof. Amr Goneid Course Resources Instructor: Prof. Amr Goneid E-mail: goneid@aucegypt.edu
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 informationCourse goals. exposure to another language. knowledge of specific data structures. impact of DS design & implementation on program performance
Course goals exposure to another language C++ Object-oriented principles knowledge of specific data structures lists, stacks & queues, priority queues, dynamic dictionaries, graphs impact of DS design
More informationCISC 3130 Data Structures Fall 2018
CISC 3130 Data Structures Fall 2018 Instructor: Ari Mermelstein Email address for questions: mermelstein AT sci DOT brooklyn DOT cuny DOT edu Email address for homework submissions: mermelstein DOT homework
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 informationSearch Slide 1/28. Search. Fall Semester. Artificial Intelligence
Search Slide 1/28 Search Fall Semester Search Slide 2/28 Topic Outline Statement of the Problem Input Output Examples Graph Traversals Depth-first Recursion Breadth-first FIFO queue Tracing Step-by-Step
More informationTrees Algorhyme by Radia Perlman
Algorhyme by Radia Perlman I think that I shall never see A graph more lovely than a tree. A tree whose crucial property Is loop-free connectivity. A tree which must be sure to span. So packets can reach
More information8. Write an example for expression tree. [A/M 10] (A+B)*((C-D)/(E^F))
DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING EC6301 OBJECT ORIENTED PROGRAMMING AND DATA STRUCTURES UNIT IV NONLINEAR DATA STRUCTURES Part A 1. Define Tree [N/D 08]
More informationCourse Review for Finals. Cpt S 223 Fall 2008
Course Review for Finals Cpt S 223 Fall 2008 1 Course Overview Introduction to advanced data structures Algorithmic asymptotic analysis Programming data structures Program design based on performance i.e.,
More informationAP Computer Science 4325
4325 Instructional Unit Algorithm Design Techniques -divide-and-conquer The students will be -Decide whether an algorithm -classroom discussion -backtracking able to classify uses divide-and-conquer, -worksheets
More informationCOMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University
COMP251: Algorithms and Data Structures Jérôme Waldispühl School of Computer Science McGill University About Me Jérôme Waldispühl Associate Professor of Computer Science I am conducting research in Bioinformatics
More informationCOSC 2007 Data Structures II Final Exam. Part 1: multiple choice (1 mark each, total 30 marks, circle the correct answer)
COSC 2007 Data Structures II Final Exam Thursday, April 13 th, 2006 This is a closed book and closed notes exam. There are total 3 parts. Please answer the questions in the provided space and use back
More informationGraphs - II CS 2110, Spring 2016
Graphs - II CS, Spring Where did David leave that book? http://www.geahvet.com Where did David leave that book? Where did David leave that book? http://www.geahvet.com Go as far down a path as possible
More informationDYNAMIC MEMORY ALLOCATION AND DEALLOCATION
COURSE TITLE DATA STRUCTURE DETAILED SYLLABUS SR.NO NAME OF CHAPTERS & DETAILS HOURS ALLOTTED 1 USER DEFINED DATATYPE /STRUCTURE About structure Defining structure Accessing structure element Array of
More informationFor a printable form of this assignment: assignment3.pdf. Assignment 3: Binary trees
COP 4530/CGS5425: Data Structures, Algorithms, and Generic Programming Florida State University, Dept. of Comp. Sci., Fall 2006 Instructor: Breno de Medeiros TA: Ling Toh For a printable form of this assignment:
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 04 / 06 / 2018 Instructor: Michael Eckmann Today s Topics Questions? Comments? Graphs Definition Terminology two ways to represent edges in implementation traversals
More informationGraphs - II. Announcements. Where did I leave that book? Where did I leave that book? Where did I leave that book? CS 2110, Fall 2016
Graphs - II CS, Fall Announcements A will be available tonight or tomorrow. Gries lunch canceled today Gries office hours today from to only Q. Why do programmers confuse Halloween and Christmas? Answer.
More informationHomework Assignment #3 Graph
CISC 4080 Computer Algorithms Spring, 2019 Homework Assignment #3 Graph Some of the problems are adapted from problems in the book Introduction to Algorithms by Cormen, Leiserson and Rivest, and some are
More informationGraphs. Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale Room - Faner 3131
Graphs Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale tessema.mengistu@siu.edu Room - Faner 3131 1 Outline Introduction to Graphs Graph Traversals Finding a
More informationIntroduction to Data Structures
15-121 Introduction to Data Structures Lecture #1 Introduction 28 August 2019 Margaret Reid-Miller Today Course Administration Overview of Course A (very basic) Java introduction Course website: www.cs.cmu.edu/~mrmiller/15-121
More information* Due 11:59pm on Sunday 10/4 for Monday lab and Tuesday 10/6 Wednesday Lab
===Lab Info=== *100 points * Due 11:59pm on Sunday 10/4 for Monday lab and Tuesday 10/6 Wednesday Lab ==Assignment== In this assignment you will work on designing a class for a binary search tree. You
More informationPROGRAMMING IN C++ (Regulation 2008) Answer ALL questions PART A (10 2 = 20 Marks) PART B (5 16 = 80 Marks) function? (8)
B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER 2009 EC 2202 DATA STRUCTURES AND OBJECT ORIENTED Time: Three hours PROGRAMMING IN C++ Answer ALL questions Maximum: 100 Marks 1. When do we declare a
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 01 / 21 / 2015 Instructor: Michael Eckmann Today s Topics Introduction of myself Review the syllabus List of Topics we'll cover Start Java review Who is your
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. Final Examination
University of Illinois at Urbana-Champaign Department of Computer Science Final Examination CS 225 Data Structures and Software Principles Spring 2010 7-10p, Wednesday, May 12 Name: NetID: Lab Section
More informationAnnouncements. Assignment 6 due right now. Assignment 7 (FacePamphlet) out, due next Friday, March 16 at 3:15PM
Graphs and Networks Announcements Assignment 6 due right now. Assignment 7 (FacePamphlet) out, due next Friday, March 6 at 3:5PM Build your own social network! No late days may be used. YEAH hours tonight
More informationFriday, March 30. Last time we were talking about traversal of a rooted ordered tree, having defined preorder traversal. We will continue from there.
Friday, March 30 Last time we were talking about traversal of a rooted ordered tree, having defined preorder traversal. We will continue from there. Postorder traversal (recursive definition) If T consists
More informationCourse Review. Cpt S 223 Fall 2009
Course Review Cpt S 223 Fall 2009 1 Final Exam When: Tuesday (12/15) 8-10am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & class notes Homeworks & program
More informationAlgorithms: Lecture 10. Chalmers University of Technology
Algorithms: Lecture 10 Chalmers University of Technology Today s Topics Basic Definitions Path, Cycle, Tree, Connectivity, etc. Graph Traversal Depth First Search Breadth First Search Testing Bipartatiness
More information7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w
Chapter 7 Trees 7.1 Introduction A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Tree Terminology Parent Ancestor Child Descendant Siblings
More information(Refer Slide Time: 02.06)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking
More informationCourse Name: B.Tech. 3 th Sem. No of hours allotted to complete the syllabi: 44 Hours No of hours allotted per week: 3 Hours. Planned.
Course Name: B.Tech. 3 th Sem. Subject: Data Structures No of hours allotted to complete the syllabi: 44 Hours No of hours allotted per week: 3 Hours Paper Code: ETCS-209 Topic Details No of Hours Planned
More informationComputer Science 1 Study Union Practice Problems. What are the arguments to malloc? calloc? realloc? What do they do?
Study Union Review Jacob Cornett 1 Computer Science 1 Study Union Practice Problems!This may not be a comprehensive review of everything that will be on your exam and we may go over more during the session.
More informationAnnouncements. Homework 1: Search. Project 1: Search. Midterm date and time has been set:
Announcements Homework 1: Search Has been released! Due Monday, 2/1, at 11:59pm. On edx online, instant grading, submit as often as you like. Project 1: Search Has been released! Due Friday 2/5 at 5pm.
More informationThe ADT priority queue Orders its items by a priority value The first item removed is the one having the highest priority value
The ADT priority queue Orders its items by a priority value The first item removed is the one having the highest priority value 1 Possible implementations Sorted linear implementations o Appropriate if
More informationCMSC132, Practice Questions
CMSC132, Practice Questions Notice the final exam can include material not covered by the practice questions. You should practice beyond what is covered in this document. Although solutions will not be
More informationLecture 26: Graphs: Traversal (Part 1)
CS8 Integrated Introduction to Computer Science Fisler, Nelson Lecture 6: Graphs: Traversal (Part ) 0:00 AM, Apr, 08 Contents Introduction. Definitions........................................... Representations.......................................
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 informationLecture 9 Graph Traversal
Lecture 9 Graph Traversal Euiseong Seo (euiseong@skku.edu) SWE00: Principles in Programming Spring 0 Euiseong Seo (euiseong@skku.edu) Need for Graphs One of unifying themes of computer science Closely
More informationBOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this
More informationThe goal of this assignment is to implement and test Breadth-first search (BFS) on a simple navigation problem (path-finding).
CSCE 420 Programing Assignment #1 due: Thurs, Sept 18 (by start of class) Objective The goal of this assignment is to implement and test Breadth-first search (BFS) on a simple navigation problem (path-finding).
More informationTrees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology
Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path
More informationA6-R3: DATA STRUCTURE THROUGH C LANGUAGE
A6-R3: DATA STRUCTURE THROUGH C LANGUAGE NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF
More informationThis is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have
This is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have encountered on homeworks, the midterm, and on this practice
More informationData Structure Advanced
Data Structure Advanced 1. Is it possible to find a loop in a Linked list? a. Possilbe at O(n) b. Not possible c. Possible at O(n^2) only d. Depends on the position of loop Solution: a. Possible at O(n)
More informationYork University AK/ITEC INTRODUCTION TO DATA STRUCTURES. Final Sample II. Examiner: S. Chen Duration: Three hours
York University AK/ITEC 262 3. INTRODUCTION TO DATA STRUCTURES Final Sample II Examiner: S. Chen Duration: Three hours This exam is closed textbook(s) and closed notes. Use of any electronic device (e.g.
More informationComputer Science E-22 Practice Final Exam
name Computer Science E-22 This exam consists of three parts. Part I has 10 multiple-choice questions that you must complete. Part II consists of 4 multi-part problems, of which you must complete 3, and
More informationPrelim 2 Solution. CS 2110, November 19, 2015, 5:30 PM Total. Sorting Invariants Max Score Grader
Prelim 2 CS 2110, November 19, 2015, 5:30 PM 1 2 3 4 5 6 Total Question True Short Complexity Searching Trees Graphs False Answer Sorting Invariants Max 20 15 13 14 17 21 100 Score Grader The exam is closed
More informationCSE 373 OCTOBER 11 TH TRAVERSALS AND AVL
CSE 373 OCTOBER 11 TH TRAVERSALS AND AVL MINUTIAE Feedback for P1p1 should have gone out before class Grades on canvas tonight Emails went to the student who submitted the assignment If you did not receive
More informationPrelim 2. CS 2110, 16 November 2017, 7:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph
Prelim 2 CS 2110, 16 November 2017, 7:30 PM 1 2 3 4 5 6 7 Total Question Name Short Heaps Tree Collections Sorting Graph answer Max 1 18 10 25 10 16 20 100 Score Grader The exam is closed book and closed
More informationCS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259
CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259 Instructor Course name Credits Contact hours Text book Course Information Course
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 informationD. Θ nlogn ( ) D. Ο. ). Which of the following is not necessarily true? . Which of the following cannot be shown as an improvement? D.
CSE 0 Name Test Fall 00 Last Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to convert an array, with priorities stored at subscripts through n,
More informationEnd-Term Examination Second Semester [MCA] MAY-JUNE 2006
(Please write your Roll No. immediately) Roll No. Paper Code: MCA-102 End-Term Examination Second Semester [MCA] MAY-JUNE 2006 Subject: Data Structure Time: 3 Hours Maximum Marks: 60 Note: Question 1.
More information(Re)Introduction to Graphs and Some Algorithms
(Re)Introduction to Graphs and Some Algorithms Graph Terminology (I) A graph is defined by a set of vertices V and a set of edges E. The edge set must work over the defined vertices in the vertex set.
More informationBreadth First Search. cse2011 section 13.3 of textbook
Breadth irst Search cse section. of textbook Graph raversal (.) Application example Given a graph representation and a vertex s in the graph, find all paths from s to the other vertices. wo common graph
More information