Graduate Analysis of Algorithms Prof. Karen Daniels
|
|
- Jocelyn Reed
- 5 years ago
- Views:
Transcription
1 UMass Lowell Computer Science Graduate Analysis of Algorithms Prof. Karen Daniels Fall, 203 Lecture 3 Monday, 9/23/3 Amortized Analysis
2 Stack (computational geometry application) Dynamic Table Binary Counter (in book but not lecture) 2 Conga Line for Dynamic Closest Pair (computational geometry) Overview Amortize: To pay off a debt, usually by periodic payments [Websters] Amortized Analysis: creative accounting for operations can show average cost of an operation is small (when averaged over sequence of operations, not distribution of inputs) even though a single operation in the sequence is expensive result must hold for any sequence of these operations no probability is involved (unlike average-case analysis) guarantee holds in worst-case analysis method only; no effect on code operation
3 More Motivation Depth-First and Breadth-First Search Dijkstra s Single-Source Shortest Path Fibonacci Heaps Knuth-Morris-Pratt String Matching Red-Black Tree Restructuring (see index) 3
4 Overview (continued) 3 ways to determine amortized cost of an operation that is part of a sequence of operations: Aggregate Method find upper bound T(n) on total cost of sequence of n operations amortized cost = average cost per operation = T(n)/n same for all the (perhaps different types of) operations in the sequence Accounting Method amortized cost can differ across types of operations overcharge some operations early in sequence store overcharge as prepaid credit on specific data structure objects Potential Method amortized cost can differ across operations (as in accounting method) overcharge some operations early in sequence (as in accounting method) store overcharge as potential energy of data structure as a whole (unlike accounting method) 4
5 Aggregate Method: Stack Operations Aggregate Method find upper bound T(n) on total cost of sequence of n operations amortized cost = average cost per operation = T(n)/n same for all the operations in the sequence Traditional Stack Operations PUSH(S,x) pushes object x onto stack S POP(S) pops top of stack S, returns popped object O() time: consider cost as for our discussion Total actual cost of sequence of n PUSH/POP operations = n STACK-EMPTY(S) time in Θ() 5
6 Aggregate Method: Stack Operations (continued) New Stack Operation MULTIPOP(S,k) pops top k elements off stack S pops entire stack if it has < k items MULTIPOP(S,k) while not STACK-EMPTY(S) and k = 0 2 POP(S) 3 k = k - MULTIPOP actual cost for stack containing s items: Use cost = for each POP Cost = min(s,k) Worst-case cost in O(s) in O(n) source: textbook Cormen et al. 6
7 Aggregate Method: Stack Operations (continued) 7
8 Aggregate Method: Stack Operations (continued) Sequence of n PUSH, POP, MULTIPOP ops initially empty stack MULTIPOP worst-case O(n) O(n 2 ) for sequence Aggregate method yields tighter upper bound Sequence of n operations has O(n) worst-case cost Each item can be popped at most once for each push # POP calls (including ones in MULTIPOP) <= #push calls <= n Average cost of an operation = O(n)/n = O() = amortized cost of each operation holds for PUSH, POP and MULTIPOP source: textbook Cormen et al. 8
9 Accounting Method Accounting Method amortized cost can differ across operations overcharge some operations early in sequence store overcharge as prepaid credit on specific data structure objects c i ĉ i Let be actual cost of ith operation Let be amortized cost of ith operation (what we charge) Total amortized cost of sequence of operations must ˆ be upper bound on total actual cost of sequence i= i Total credit in data structure = must be nonnegative for all n n i= n cˆ i c i= i n n c i c = source: textbook Cormen et al. 9 i
10 Accounting Method: Stack Operations Operation Actual Cost Assigned Amortized Cost PUSH 2 POP 0 MULTIPOP min(k,s) 0 Paying for a sequence using amortized cost: start with empty stack PUSH of an item always precedes POP, MULTIPOP pay for PUSH & store unit of credit credit for each item pays for actual POP, MULTIPOP cost of that item credit never goes negative total amortized cost of any sequence of n ops is in O(n) amortized cost is upper bound on total actual cost 0 source: textbook Cormen et al.
11 Potential Method Potential Method amortized cost can differ across operations (as in accounting method) overcharge some operations early in sequence (as in accounting method) store overcharge as potential energy of data structure as a whole (unlike accounting method) Let c i be actual cost of i th operation Let D i be data structure after applying i th operation Let Φ(D i ) be potential associated with D i Amortized cost of i th operation: Total amortized cost of n operations: n i = cˆ i = ci + Φ( Di ) Φ( Di ) n n ˆi = ( ci + Φ ( Di ) Φ ( Di )) = ci + Φ ( D n ) Φ ( D 0 i = i = ( D n 0 c terms telescope Require: Φ ) Φ( D ) so total amortized cost is upper bound on total actual cost Since n might not be known in advance, guarantee payment in advance by requiring Φ( D i ) Φ( D0 ) source: textbook Cormen et al. )
12 Potential Method: Stack Operations Potential function value = number of items in stack guarantees nonnegative potential after ith operation Amortized operation costs (assuming stack has s items) PUSH: potential difference= Φ( Di ) Φ( Di ) = ( s + ) s = amortized cost = cˆ c + Φ( D ) Φ( D ) = + = 2 MULTIPOP(S,k) pops k =min(k,s) items off stack POP amortized cost also = 0 i = i i i potential difference= Φ( Di ) Φ( Di ) = k' amortized cost = cˆ = c + Φ( D ) Φ( D ) = k' k' = 0 i Amortized cost O() total amortized cost of sequence of n operations in O(n) source: textbook i i i 2 source: textbook Cormen et al.
13 Dynamic Tables: Overview Dynamic Table T: array of slots Ignore implementation choices: stack, heap, hash table... if too full, increase size & copy entries to T if too empty, decrease size & copy entries to T Analyze dynamic table insert and delete Actual expansion or contraction cost is large Show amortized cost of insert or delete in O() Load factor α(t) = num[t]/size[t] num[t] = number of items currently stored in table empty table: α(t) = (convention guaranteeing load factor can be lower bounded by a useful constant) 3 full table: α(t) = source: textbook Cormen Cormen et al.
14 Dynamic Tables: Table (Expansion Only) Load factor bounds (double size when T is full): Sequence of n inserts on initially empty table Worst-case cost of insert is in O(n) Worst-case cost of sequence of n inserts is in O(n 2 ) WHY? LOOSE Double only when table is already full. elementary insertion 4 source: textbook Cormen et al.
15 Dynamic Tables: Aggregate Method: c i = i if i- is exact power of 2 otherwise total cost of n inserts = Accounting Method: Table Expansion (cont.) Amortized Analysis charge cost = 3 for each element inserted intuition for 3 each item pays for 3 elementary insertions inserting itself into current table expansion: moving itself n i= insert expansion: moving another item that has already been moved lgn j ci n + 2 < n + 2n = 3n j= 0 count only elementary insertions copy 5 source: textbook Cormen et al.
16 Dynamic Tables: Amortized Analysis Potential Method: Φ T ) = Value of potential function Φ(Τ) 0 right after expansion (then becomes 2 why?) Φ( T ) = builds to table size by time table is full 0 when size[ T ] = 2num[ T ] Φ( T ) = 2num[ T ] size[ T ] always nonnegative, so sum of amortized costs of n inserts is upper bound on sum of actual costs Table Expansion (cont.) ( 2num[ T ] size[ T ] Amortized cost of ith insert Φ i = potential after ith operation Case : insert does not cause expansion cˆ i = ci + Φi Φi = + (2numi sizei ) (2numi sizei ) = Case 2: insert causes expansion ˆi = ci + Φi Φi c use these: 3 functions: size i, num i, Φ i = numi + (2numi sizei ) (2numi sizei ) = num = i sizei num = + i num i size i = 2sizei 3 6 3
17 Dynamic Tables: Table Expansion & Contraction count elementary insertions & deletions (double size when T is full) (halve size when T is ¼ full (why ¼?)): Load factor bounds: DELETE pseudocode analogous to INSERT Amortized Analysis Φ T ) Potential Method: Value of potential function Φ(Τ) = 0 for empty table 0 right after expansion or contraction builds as α(t) increases to or decreases to ¼ always nonnegative, so sum of amortized costs of n inserts is upper bound on sum of actual costs = 0 when α(t)=/2 = num[t] when α(t)= = num[t] when α(t)=/4 same as INSERT ( = 2num[ T ] size[ T ] if α( T ) / 2 size[ T ]/ 2 num[ T ] if α( T ) < / 2 Different from INSERT motivation for choice of potential function: can pay for moving num[t] items 7 source: textbook Cormen et al.
18 Dynamic Tables: Table Expansion & Contraction Amortized Analysis Potential Method 3 functions: size i, num i, Φ i motivation for choice of potential function 8 source: textbook Cormen et al.
19 Dynamic Tables: Table Expansion & Contraction Amortized Analysis Φ( T) = 2numT [ ] size[ T] if α( T) / 2 Potential Method size[ T]/ 2 numt [ ] if α( T) < / 2 Analyze cost of sequence of n inserts and/or deletes Amortized cost of ith operation Case : INSERT Case a: α i- >= ½. By previous insert analysis: cˆ i 3 holds whether or not table expands Case b: α i- < ½ and α i < ½ ˆi = ci + Φi Φi c Case c: α i- < ½ and α i >= ½ no expansion (why?) = + (( sizei / 2) numi ) (( sizei / 2) numi ) = no expansion (why?) 0 ˆi = ci + Φi Φi see derivation in textbook c = + (2numi sizei ) (( sizei / 2) numi 9) 3
20 Dynamic Tables: Table Expansion & Contraction Amortized Analysis Potential Method Amortized cost of ith operation (continued) Φ( T) = 2numT [ ] size[ T] if α( T) / 2 Case 2: DELETE size[ T]/ 2 numt [ ] if α( T) < / 2 Case 2a: α i- >= ½. Case 2b: α i- < ½ and α i < ½ no contraction ˆi = ci + Φi Φi c textbook exercise = + ( sizei / 2 numi ) ( sizei / 2 numi ) = 2 Case 2c: α i- < ½ and α i < ½ contraction ˆi = ci + Φi Φi c = ( numi + ) + ( sizei / 2 numi ) ( sizei / 2 numi ) = Conclusion: amortized cost of each operation is bounded above by a constant, so time for sequence of n operations is in O(n). 20 source: textbook Cormen et al.
21 Example: Dynamic Closest Pair S S = S S S 2 3 S 2 S 3 Goal: Fast maintenance of closest pair in dynamic setting source: Fast hierarchical clustering and other applications of dynamic closest 2 pairs, David Eppstein, Journal of Experimental Algorithmics, Vol. 5, August 2000.
22 Example: Dynamic Closest Pair (continued) S S S source: Fast hierarchical clustering and other applications of dynamic closest 22 pairs, David Eppstein, Journal of Experimental Algorithmics, Vol. 5, August 2000.
23 Example: Dynamic Closest Pair (continued) Rules Partition dynamic set S into k log n subsets. Each subset S i has an associated digraph G i consisting of a set of disjoint, directed paths. Total number of edges in all graphs remains linear Combine and rebuild if number of edges reaches 2n. Closest pair is always in some G i. Initially all points are in single set S. Operations: Create G i for a subset S i. Insert a point. Delete a point. Merge subsets until k log n. We use log base 2. source: Fast hierarchical clustering and other applications of dynamic closest pairs, David Eppstein, Journal of Experimental Algorithmics, Vol. 5, August
24 Example: Dynamic Closest Pair (continued) Rules: Operations source: Fast hierarchical clustering and other applications of dynamic closest pairs, David Eppstein, Journal of Experimental Algorithmics, Vol. 5, August Create G i for a subset S i : Select starting point (we choose leftmost (or higher one in case of a tie)) Iteratively extend the path P, selecting next vertex as: Case : nearest neighbor in S \ P if last point on path belongs to S i Case 2: nearest neighbor in S i \ P if last point on path belongs to S \S i Insert a point x: Create new subset S k+ ={x}. Merge subsets if necessary. Create G i for new or merged subsets. Delete a point x: Create new subset S k+ = all points y such that (y,x) is a directed edge in some G i. Remove x and adjacent edges from all G i. (We also remove y from its subset.) Merge subsets if necessary. Create G i for new or merged subsets. Merge subsets until k log n : Choose subsets S i and S j to minimize size ratio S j / S i. See handout for example. 24
25 Example: Dynamic Closest Pair (continued) Potential Function source: Fast hierarchical clustering and other applications of dynamic closest pairs, David Eppstein, Journal of Experimental Algorithmics, Vol. 5, August Potential for a subset S i : Φ i = n S i log S i. Total potential Φ = n 2 logn - ΣΦ i. Paper proves this Theorem in Section 3: Theorem: The data structure maintains the closest pair in S in O(n) space, amortized time O(nlogn) per insertion, and amortized time O(nlog 2 n) per deletion. HW#3 contains a problem related to this paper. Please read up through Section 3. Later in the semester we will have sufficient background for much of the remainder of the paper. 25
Amortized Analysis. A Simple Analysis. An Amortized Analysis. Incrementing Binary Numbers. A Simple Analysis
Amortized Analysis The problem domains vary widely, so this approach is not tied to any single data structure The goal is to guarantee the average performance of each operation in the worst case Three
More informationCOMP251: Amortized Analysis
COMP251: Amortized Analysis Jérôme Waldispühl School of Computer Science McGill University Based on (Cormen et al., 2009) Overview Analyze a sequence of operations on a data structure. We will talk about
More informationConnectivity. Use DFS or BFS. 03/11/04 Lecture 18 1
Connectivity A (simple) undirected graph is connected if there exists a path between every pair of vertices. If a graph is not connected, then G (V,E ) is a connected component of the graph G(V,E) if V
More informationGraduate Algorithms CS F-12 Amortized Analysis
Graduate Algorithms CS673-2016F-12 Amortized Analysis David Galles Department of Computer Science University of San Francisco 12-0: Amortized Analysis Standard Stack Push(S,elem) Pop(S) How much time for
More informationCOP 4531 Complexity & Analysis of Data Structures & Algorithms
COP 4531 Complexity & Analysis of Data Structures & Algorithms Amortized Analysis Thanks to the text authors who contributed to these slides What is amortized analysis? Analyze a sequence of operations
More informationAmortized Analysis. The time required to perform a sequence of (data structure) operations is averaged over all the operations performed.
Amortized Analysis The time required to perform a sequence of (data structure) operations is averaged over all the operations performed. No probabilistic assumptions - not an average case analysis! 1 Example:
More informationCS583 Lecture 12. Previously. Jana Kosecka. Amortized/Accounting Analysis Disjoint Sets. Dynamic Programming Greedy Algorithms
CS583 Lecture 12 Jana Kosecka Amortized/Accounting Analysis Disjoint Sets Dynamic Programming Greedy Algorithms Slight digression Amortized analysis Disjoint sets Previously 1 Amortized Analysis Amortized
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/8.40J/SMA5503 Lecture 4 Prof. Charles E. Leiserson How large should a hash table be? Goal: Make the table as small as possible, but large enough so that it won t overflow
More informationDATA STRUCTURES. amortized analysis binomial heaps Fibonacci heaps union-find. Lecture slides by Kevin Wayne. Last updated on Apr 8, :13 AM
DATA STRUCTURES amortized analysis binomial heaps Fibonacci heaps union-find Lecture slides by Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos Last updated on Apr 8, 2013 6:13 AM Data structures
More informationCS F-12 Amortized Analysis 1
CS673-2016F-12 Amortized Analysis 1 12-0: Amortized Analysis Standard Stack Push(S,elem) Pop(S) How much time for each operation? 12-1: Amortized Analysis Standard Stack Push(S,elem)O(1) Pop(S)O(1) Multipop(S,k)
More informationAmortized Analysis. Prof. Clarkson Fall Today s music: : "Money, Money, Money" by ABBA
Amortized Analysis Prof. Clarkson Fall 2015 Today s music: : "Money, Money, Money" by ABBA Review Current topic: Reasoning about performance Efficiency Big Oh Today: Alternative notions of efficiency Amortized
More informationAmortized Analysis. Andreas Klappenecker. [partially based on the slides of Prof. Welch]
Amortized Analysis Andreas Klappenecker [partially based on the slides of Prof. Welch] 1 People who analyze algorithms have double happiness. First of all they experience the sheer beauty of elegant mathematical
More informationIntroduction. Introduction: Multi-Pop Stack Example. Multi-Pop Stack Cost (clever) Multi-Pop Stack Cost (naïve)
Introduction Today we begin studying how to calculate the total time of a sequence of operations as a whole. (As opposed to each operation individually.) Why and when we care: You have an algorithm that
More informationToday we begin studying how to calculate the total time of a sequence of operations as a whole. (As opposed to each operation individually.
Introduction Today we begin studying how to calculate the total time of a sequence of operations as a whole. (As opposed to each operation individually.) Why and when we care: You have an algorithm that
More information16 Greedy Algorithms
16 Greedy Algorithms Optimization algorithms typically go through a sequence of steps, with a set of choices at each For many optimization problems, using dynamic programming to determine the best choices
More informationCS 561, Lecture Topic: Amortized Analysis. Jared Saia University of New Mexico
CS 561, Lecture Topic: Amortized Analysis Jared Saia University of New Mexico Outline Amortized Analysis Aggregate, Taxation and Potential Methods Dynamic Table Union Find Data Structure 1 Amortized Analysis
More informationCS 561, Lecture Topic: Amortized Analysis. Jared Saia University of New Mexico
CS 561, Lecture Topic: Amortized Analysis Jared Saia University of New Mexico Outline Amortized Analysis Aggregate, Taxation and Potential Methods Dynamic Table Union Find Data Structure 1 Amortized Analysis
More informationCSC 172 Data Structures and Algorithms. Lecture 24 Fall 2017
CSC 172 Data Structures and Algorithms Lecture 24 Fall 2017 ANALYSIS OF DIJKSTRA S ALGORITHM CSC 172, Fall 2017 Implementation and analysis The initialization requires Q( V ) memory and run time We iterate
More informationAmortized Analysis. Ric Glassey
Amortized Analysis Ric Glassey glassey@kth.se Overview Amortized Analysis Aim: Develop methods of determining the average cost of operations on a data structure Motivation: We do not always want to think
More informationToday s Outline. CS 561, Lecture 18. Potential Method. Pseudocode. Dynamic Tables. Jared Saia University of New Mexico
Today s Outline CS 561, Lecture 18 Jared Saia University of New Mexico Dynamic Tables 1 Pseudocode Potential Method Table-Insert(T,x){ if (T.size == 0){allocate T with 1 slot;t.size=1} if (T.num == T.size){
More informationAmortization Analysis
December 21, 2011 Amortization Analysis The concept of amortized runtime analysis is usually first encountered when studying the efficiency of the resizing operation for an array or vector, such as in
More informationThomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms
Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6
More informationCS Prof. Clarkson Fall 2014
CS 3110 Lecture 25: Amortized Analysis Prof. Clarkson Fall 2014 Today s music: "Money, Money, Money" by ABBA "Mo Money Mo Problems" by The Notorious B.I.G. "Material Girl" by Madonna Review Current topic:
More informationCMPS 2200 Fall Amortized Analysis. Carola Wenk. Slides courtesy of Charles Leiserson with changes by Carola Wenk
CMPS 2200 Fall 2017 Amortized Analysis Carola Wenk Slides courtesy of Charles Leiserson with changes by Carola Wenk 11/15/17 CMPS 2200 Intro. to Algorithms 1 Dynamic tables Task: Store a dynamic set in
More informationlogn D. Θ C. Θ n 2 ( ) ( ) f n B. nlogn Ο n2 n 2 D. Ο & % ( C. Θ # ( D. Θ n ( ) Ω f ( n)
CSE 0 Test Your name as it appears on your UTA ID Card Fall 0 Multiple Choice:. Write the letter of your answer on the line ) to the LEFT of each problem.. CIRCLED ANSWERS DO NOT COUNT.. points each. The
More informationLecture Summary CSC 263H. August 5, 2016
Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.
More informationAmortized Analysis and Union-Find , Inge Li Gørtz
Amortized Analysis and Union-Find 02283, Inge Li Gørtz 1 Today Amortized analysis 3 different methods 2 examples Union-Find data structures Worst-case complexity Amortized complexity 2 Amortized Analysis
More informationimplementing the breadth-first search algorithm implementing the depth-first search algorithm
Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm
More informationComputational Geometry Overview from Cormen, et al.
UMass Lowell Computer Science 91.503 Graduate Algorithms Prof. Karen Daniels Spring, 2014 Computational Geometry Overview from Cormen, et al. Chapter 33 (with additional material from other sources) 1
More informationIntroduction to Algorithms Third Edition
Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Introduction to Algorithms Third Edition The MIT Press Cambridge, Massachusetts London, England Preface xiü I Foundations Introduction
More informationLet the dynamic table support the operations TABLE-INSERT and TABLE-DELETE It is convenient to use the load factor ( )
17.4 Dynamic tables Let us now study the problem of dynamically expanding and contracting a table We show that the amortized cost of insertion/ deletion is only (1) Though the actual cost of an operation
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 informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 3 Data Structures Graphs Traversals Strongly connected components Sofya Raskhodnikova L3.1 Measuring Running Time Focus on scalability: parameterize the running time
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 informationAdvanced Algorithms Computational Geometry Prof. Karen Daniels. Spring, 2010
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Lecture 3 O Rourke Chapter 3: 2D Convex Hulls Thursday, 2/18/10 Chapter 3 2D Convex Hulls
More informationOutline for Today. Why could we construct them in time O(n)? Analyzing data structures over the long term.
Amortized Analysis Outline for Today Euler Tour Trees A quick bug fix from last time. Cartesian Trees Revisited Why could we construct them in time O(n)? Amortized Analysis Analyzing data structures over
More informationHomework #5 Algorithms I Spring 2017
Homework #5 Algorithms I 600.463 Spring 2017 Due on: Saturday, March 18th, 11:59pm Late submissions: will NOT be accepted Format: Please start each problem on a new page. Where to submit: On Gradescope,
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 informationCPS 231 Exam 2 SOLUTIONS
CPS 231 Exam 2 SOLUTIONS Fall 2003 1:00-2:25, Tuesday November 20th Closed book exam NAME: Problem Max Obtained 1 10 2 25 3 (a) 15 3 (b) 15 3 (c) 10 4 (a) 10 4 (b) 15 4 (c) 10 Total 110 1 [10 points ]
More informationEND-TERM EXAMINATION
(Please Write your Exam Roll No. immediately) Exam. Roll No... END-TERM EXAMINATION Paper Code : MCA-205 DECEMBER 2006 Subject: Design and analysis of algorithm Time: 3 Hours Maximum Marks: 60 Note: Attempt
More informationUML CS Algorithms Qualifying Exam Spring, 2004 ALGORITHMS QUALIFYING EXAM
NAME: This exam is open: - books - notes and closed: - neighbors - calculators ALGORITHMS QUALIFYING EXAM The upper bound on exam time is 3 hours. Please put all your work on the exam paper. (Partial credit
More informationLecture 1 (Part 1) Introduction/Overview
UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2013 Lecture 1 (Part 1) Introduction/Overview Monday, 9/9/13 Web Page Web Page http://www.cs.uml.edu/~kdaniels/courses/alg_503_f13.html
More informationDynamic tables. Amortized Analysis. Example of a dynamic table. Example of a dynamic table. CS Spring 2008
CS 56 -- Spring 008 Amortized Analysis Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk CS 56 Analysis of Algorithms Dynamic tables Task: Store a dynamic set in a table/array.
More informationmanaging an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm
Spanning Trees 1 Spanning Trees the minimum spanning tree problem three greedy algorithms analysis of the algorithms 2 The Union-Find Data Structure managing an evolving set of connected components implementing
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17
01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are
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 information1 The Shortest Path Problem
CS161 Lecture 11 Single Source Shortest Paths Scribed by: Romil Verma (2015), Virginia Date: May 8, 2016 1 The Shortest Path Problem In this lecture, we ll discuss the shortest path problem. Assume we
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 information( ) D. Θ ( ) ( ) Ο f ( n) ( ) Ω. C. T n C. Θ. B. n logn Ο
CSE 0 Name Test Fall 0 Multiple Choice. Write your answer to the LEFT of each problem. points each. The expected time for insertion sort for n keys is in which set? (All n! input permutations are equally
More informationSolutions to Problem Set 3
G22.3250-001 Honors Analysis of Algorithms November 3, 2016 Solutions to Problem Set 3 Name: Daniel Wichs (TA) Due: October 27, 2008 Problem 1 Given a tree with (possibly negative) weights assigned to
More information( ) + n. ( ) = n "1) + n. ( ) = T n 2. ( ) = 2T n 2. ( ) = T( n 2 ) +1
CSE 0 Name Test Summer 00 Last Digits of Student ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. Suppose you are sorting millions of keys that consist of three decimal
More informationAlgorithm Analysis. (Algorithm Analysis ) Data Structures and Programming Spring / 48
Algorithm Analysis (Algorithm Analysis ) Data Structures and Programming Spring 2018 1 / 48 What is an Algorithm? An algorithm is a clearly specified set of instructions to be followed to solve a problem
More informationName: Lirong TAN 1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G.
1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G. A shortest s-t path is a path from vertex to vertex, whose sum of edge weights is minimized. (b) Give the pseudocode
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 informationAnalysis of Algorithms Prof. Karen Daniels
UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Spring, 2010 Lecture 2 Tuesday, 2/2/10 Design Patterns for Optimization Problems Greedy Algorithms Algorithmic Paradigm Context
More informationCS 161 Fall 2015 Final Exam
CS 161 Fall 2015 Final Exam Name: Student ID: 1: 2: 3: 4: 5: 6: 7: 8: Total: 1. (15 points) Let H = [24, 21, 18, 15, 12, 9, 6, 3] be an array of eight numbers, interpreted as a binary heap with the maximum
More informationl Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are:
DDS-Heaps 1 Heaps - basics l Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are: l insert an object, find the object of minimum key (find
More informationUML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM
NAME: This exam is open: - books - notes and closed: - neighbors - calculators ALGORITHMS QUALIFYING EXAM The upper bound on exam time is 3 hours. Please put all your work on the exam paper. (Partial credit
More informationAnalysis of Algorithms
Second Edition Design and Analysis of Algorithms Prabhakar Gupta Vineet Agarwal Manish Varshney Design and Analysis of ALGORITHMS SECOND EDITION PRABHAKAR GUPTA Professor, Computer Science and Engineering
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa Course Basics A new 7 credit unit course Replaces OHJ-2156 Analysis of Algorithms We take things a bit further than OHJ-2156 We will assume familiarity
More informationGraph: representation and traversal
Graph: representation and traversal CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang! Acknowledgement The set of slides have use materials from the following resources Slides for textbook
More informationI want my two dollars!
The goode workes that men don whil they ben in good lif al amortised by synne folwyng. Geoffrey Chaucer, The Persones [Parson s] Tale (c.1400) I will gladly pay you Tuesday for a hamburger today. I want
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 information( ) 1 B. 1. Suppose f x
CSE Name Test Spring Last Digits of Student ID Multiple Choice. Write your answer to the LEFT of each problem. points each is a monotonically increasing function. Which of the following approximates the
More informationLecture 3. Brute Force
Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search
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 informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 7 Greedy Graph Algorithms Topological sort Shortest paths Adam Smith The (Algorithm) Design Process 1. Work out the answer for some examples. Look for a general principle
More informationUML CS Algorithms Qualifying Exam Fall, 2004 ALGORITHMS QUALIFYING EXAM
ALGORITHMS QUALIFYING EXAM This exam is open books & notes and closed neighbors & calculators. The upper bound on exam time is 3 hours. Please put all your work on the exam paper. Please write your name
More informationLecture 8 13 March, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 8 13 March, 2012 1 From Last Lectures... In the previous lecture, we discussed the External Memory and Cache Oblivious memory models.
More information2 A Template for Minimum Spanning Tree Algorithms
CS, Lecture 5 Minimum Spanning Trees Scribe: Logan Short (05), William Chen (0), Mary Wootters (0) Date: May, 0 Introduction Today we will continue our discussion of greedy algorithms, specifically in
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 informationCSE 548: (Design and) Analysis of Algorithms
Intro Aggregate Charging Potential Table resizing Disjoint sets 1 / 33 CSE 548: (Design and) Analysis of Algorithms Amortized Analysis R. Sekar Intro Aggregate Charging Potential Table resizing Disjoint
More informationn 2 ( ) ( ) Ο f ( n) ( ) Ω B. n logn Ο
CSE 220 Name Test Fall 20 Last 4 Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. 4 points each. The time to compute the sum of the n elements of an integer array is in:
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 informationBrute Force: Selection Sort
Brute Force: Intro Brute force means straightforward approach Usually based directly on problem s specs Force refers to computational power Usually not as efficient as elegant solutions Advantages: Applicable
More informationThe resulting array is written as row i + 1 in our matrix:
Homework 5 Solutions Fundamental Algorithms, Fall 2004, Professor Yap Due: Thu December 9, in class SOLUTION PREPARED BY Instructor and T.A.s Ariel Cohen and Vikram Sharma INSTRUCTIONS: NOTICE: In the
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 information( ) ( ) C. " 1 n. ( ) $ f n. ( ) B. " log( n! ) ( ) and that you already know ( ) ( ) " % g( n) ( ) " #&
CSE 0 Name Test Summer 008 Last 4 Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time for the following code is in which set? for (i=0; i
More informationIntroduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15
600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15 14.1 Introduction Today we re going to talk about algorithms for computing shortest
More information( D. Θ n. ( ) f n ( ) D. Ο%
CSE 0 Name Test Spring 0 Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to run the code below is in: for i=n; i>=; i--) for j=; j
More informationCS 373: Combinatorial Algorithms, Spring 1999
CS 373: Combinatorial Algorithms, Spring 1999 Final Exam (May 7, 1999) Name: Net ID: Alias: This is a closed-book, closed-notes exam! If you brought anything with you besides writing instruments and your
More information( ) n 3. n 2 ( ) D. Ο
CSE 0 Name Test Summer 0 Last Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to multiply two n n matrices is: A. Θ( n) B. Θ( max( m,n, p) ) C.
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 informationGreedy Approach: Intro
Greedy Approach: Intro Applies to optimization problems only Problem solving consists of a series of actions/steps Each action must be 1. Feasible 2. Locally optimal 3. Irrevocable Motivation: If always
More informationW4231: Analysis of Algorithms
W4231: Analysis of Algorithms 10/21/1999 Definitions for graphs Breadth First Search and Depth First Search Topological Sort. Graphs AgraphG is given by a set of vertices V and a set of edges E. Normally
More informationDirect Addressing Hash table: Collision resolution how handle collisions Hash Functions:
Direct Addressing - key is index into array => O(1) lookup Hash table: -hash function maps key to index in table -if universe of keys > # table entries then hash functions collision are guaranteed => need
More informationOutline for Today. Analyzing data structures over the long term. Why could we construct them in time O(n)? A simple and elegant queue implementation.
Amortized Analysis Outline for Today Amortized Analysis Analyzing data structures over the long term. Cartesian Trees Revisited Why could we construct them in time O(n)? The Two-Stack Queue A simple and
More informationAlgorithm Theory, Winter Term 2015/16 Problem Set 5 - Sample Solution
Albert-Ludwigs-Universität, Inst. für Informatik Prof. Dr. Fabian Kuhn M. Ahmadi, O. Saukh, A. R. Molla November, 20 Algorithm Theory, Winter Term 20/6 Problem Set - Sample Solution Exercise : Amortized
More informationOutline. Computer Science 331. Definitions: Paths and Their Costs. Computation of Minimum Cost Paths
Outline Computer Science 33 Computation of Minimum-Cost Paths Dijkstra s Mike Jacobson Department of Computer Science University of Calgary Lecture #34 Dijkstra s to Find Min-Cost Paths 3 Example 4 5 References
More informationMultiple Choice. Write your answer to the LEFT of each problem. 3 points each
CSE 0-00 Test Spring 0 Name Last 4 Digits of Student ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. Suppose f ( x) is a monotonically increasing function. Which of the
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Prerequisites A seven credit unit course Replaced OHJ-2156 Analysis of Algorithms We take things a bit further than
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA
INTERNAL ASSESSMENT TEST 2 Date : 30/3/15 Max Marks : 50 Name of faculty : Sabeeha Sultana Subject & Code : ADA(13MCA41) Answer any five full question: 1.Illustrate Mergesort for the dataset 8,3,2,9,7,1,5,4.
More informationReview for Midterm Exam
Review for Midterm Exam 1 Policies and Overview midterm exam policies overview of problems, algorithms, data structures overview of discrete mathematics 2 Sample Questions on the cost functions of algorithms
More informationCS 532: 3D Computer Vision 14 th Set of Notes
1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating
More informationLecture 1. Introduction
Lecture 1 Introduction 1 Lecture Contents 1. What is an algorithm? 2. Fundamentals of Algorithmic Problem Solving 3. Important Problem Types 4. Fundamental Data Structures 2 1. What is an Algorithm? Algorithm
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 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 informationFast Hierarchical Clustering via Dynamic Closest Pairs
Fast Hierarchical Clustering via Dynamic Closest Pairs David Eppstein Dept. Information and Computer Science Univ. of California, Irvine http://www.ics.uci.edu/ eppstein/ 1 My Interest In Clustering What
More information9. Which situation is true regarding a cascading cut that produces c trees for a Fibonacci heap?
1 1 Name Test 1 - Closed Book Student ID # Multiple Choice. Write your answer to the LEFT of each problem. points each 1. During which operation on a leftist heap may subtree swaps be needed? A. DECREASE-KEY
More informationCS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review
1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,
More information