CSE332: Data Abstractions About the Final

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
ITEC200 – Week 12 Graphs. 2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study.
CSE332: Data Abstractions Lecture 28: Course Wrap-Up / Victory Lap Dan Grossman Spring 2010.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Chapter 9 Greedy Technique Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
CSE332: Data Abstractions Lecture 26: Amortized Analysis Tyler Robison Summer
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Dijkstra’s Algorithm. Announcements Assignment #2 Due Tonight Exams Graded Assignment #3 Posted.
10/20/20151 CS 3343: Analysis of Algorithms Review for final.
December 4, Algorithms and Data Structures Lecture XV Simonas Šaltenis Aalborg University
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
ITEC 2620A Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: 2620a.htm Office: TEL 3049.
Review for Exam 1 Topics covered: –Asymptotic analysis –Lists and list implementations Stacks and queues –General trees, binary trees –BST For each of.
CSCE350 Algorithms and Data Structure Lecture 19 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Runtime O(VE), for +/- edges, Detects existence of neg. loops
Review for Final Exam – cs411/511 Definitions (5 questions, 2 points each) Algorithm Analysis (3 questions, 3 points each) General Questions (3 questions,
Review for Final Exam Non-cumulative, covers material since exam 2 Data structures covered: –Treaps –Hashing –Disjoint sets –Graphs For each of these data.
1 Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible b locally optimal.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
CSE 340: Review (at last!) Measuring The Complexity Complexity is a function of the size of the input O() Ω() Θ() Complexity Analysis “same order” Order.
19 March More on Sorting CSE 2011 Winter 2011.
Mergesort example: Merge as we return from recursive calls Merge Divide 1 element 829.
COMP9024: Data Structures and Algorithms
CSC 172 DATA STRUCTURES. END OF SEMESTER PRIORITES  Hand in last project  Take final exam  Check your grades.
CS16: Introduction to Algorithms and Data Structures
Design and Analysis of Algorithms (09 Credits / 5 hours per week)
CSE 326: Data Structures: Advanced Topics
Graphs Representation, BFS, DFS
Minimum Spanning Tree Chapter 13.6.
Minimum Spanning Trees
Multicore Programming Final Review
Exam Hints.
Review for Final Exam Non-cumulative, covers material since exam 2
Review for Final Exam Non-cumulative, covers material since exam 2
Review for Final Exam Non-cumulative, covers material since exam 2
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
Short paths and spanning trees
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
Graphs Chapter 13.
CS 3343: Analysis of Algorithms
Topic 13 Graphs 2.
CS 3343: Analysis of Algorithms
Chapter 11 Graphs.
CSE332: Data Abstractions Lecture 18: Minimum Spanning Trees
ITEC 2620M Introduction to Data Structures
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
CSCI2100 Data Structures Tutorial
CSE 373: Data Structures and Algorithms
Autumn 2016 Lecture 10 Minimum Spanning Trees
Chapter 16 1 – Graphs Graph Categories Strong Components
Review for Final Exam Non-cumulative, covers material since exam 2
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Winter 2019 Lecture 10 Minimum Spanning Trees
INTRODUCTION TO ALOGORITHM DESIGN STRATEGIES
Richard Anderson Winter 2019 Lecture 5
For Friday Read chapter 9, sections 2-3 No homework
Presentation transcript:

CSE332: Data Abstractions About the Final Tyler Robison Summer 2010

Final Logistics Final on Friday One hour Usual time: 10:50 Usual room: Here (EEB 026) One hour No notes, no books; calculators ok (but not really needed) Info on website under ‘Exams’

Topics (short list) Sorting Graphs Parallelization Concurrency Amortized Analysis NP NOT covered Material in Midterm NOT covered

Section Tomorrow Review problems Questions Get some more practice with material Questions Last (?) opportunity for re-grading on hw/project

Preparing for the Exam Homework a good indication of what could be on exam Check out previous quarters’ exams Length differs 326 ones differ quite a bit Final info site has links Make sure you: Understand the key concepts Can perform the key algorithms

Sorting Topics Know Know run-times Know how to carry out the sort Simple sorts Heap Sort Merge Sort Quick Sort Bucket Sort & Radix Sort Know run-times Know how to carry out the sort Lower Bound for Comparison Sort Won’t be ask to give full proof But may be asked to use similar techniques Be familiar with the ideas

Graph Topics Graph Basics Graph Representations Graph Traversals Definition; weights; directedness; degree Paths; cycles Connectedness (directed vs undirected) ‘Tree’ in a graph sense DAGs Graph Representations Adjacency List Adjacency Matrix What each is; how to use it Graph Traversals Breadth-First Depth-First What data structures are associated with each?

Graph Topics Topological Sort Dijkstra’s Algorithm Doesn’t play nice with negative weights Minimum Spanning Trees Prim’s Algorithm Kruskal’s Algorithm Know algorithms Know run-times

Parallelism Fork-join parallelism Work & span definitions Know the concept; diff. from making lots of threads Be able to write pseudo-code Reduce: parallel sum, multiply, min, find, etc. Map: bit vector, string length, etc. Work & span definitions Speed-up & parallelism definitions Justification for run-time, given tree Justification for ‘halving’ each step Amdahl’s Law Parallel Prefix Technique Span Uses: Parallel prefix sum, filter, etc. Parallel Sorting

Concurrency Race conditions Data races Synchronizing your code Locks, Reentrant locks Java’s ‘synchronize’ statement Readers/writer locks Deadlock Issues of critical section size Issues of lock scheme granularity – coarse vs fine Knowledge of bad interleavings Condition variables Be able to write pseudo-code for Java threads, locks & condition variables

Amortized Analysis To have an Amortized Bound of O(f(n)): There does not exist a series of M operations with run-time worse than O(M*f(n)) Amortized vs average case To prove: prove that no series of operations can do worse than O(M*f(n)) To disprove: find a series of operations that’s worse