Introduction to Algorithms 6 046 J18 401 J
- Slides: 57
Introduction to Algorithms 6. 046 J/18. 401 J LECTURE 2 Asymptotic Notation • O-, Ω-, and Θ-notation Recurrences • Substitution method • Iterating the recurrence • Recursion tree • Master method Prof. Erik Demaine September 12, 2005 Copyright© 2001 -5 Erik D. Demaine and Charles E. Leiserson L 2. 1
Asymptotic notation O-notation (upper bounds): We write f(n) = O(g(n)) if there Exist constants c>0, n 0>0 such That 0 ≤f(n) ≤cg(n) for all n≥n 0. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 2
Asymptotic notation O-notation (upper bounds): We write f(n) = O(g(n)) if there Exist constants c>0, n 0>0 such That 0 ≤f(n) ≤cg(n) for all n≥n 0. EXAMPLE: September 12, 2005 2 n 2= O(n 3) (c= 1, n 0= 2) Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 3
Asymptotic notation O-notation (upper bounds): We write f(n) = O(g(n)) if there Exist constants c>0, n 0>0 such That 0 ≤f(n) ≤cg(n) for all n≥n 0. EXAMPLE: 2 n 2= O(n 3) (c= 1, n 0= 2) functions, Not values September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 4
Asymptotic notation O-notation (upper bounds): We write f(n) = O(g(n)) if there Exist constants c>0, n 0>0 such That 0 ≤f(n) ≤cg(n) for all n≥n 0. EXAMPLE: functions, Not values September 12, 2005 2 n 2= O(n 3) (c= 1, n 0= 2) Funny, “oneway” equality Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 5
Set definition of O-notation O(g(n))= { f(n) : there exist constants c> 0, n 0> 0 such that 0 ≤ f(n) ≤ cg(n) for all n≥n 0} September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 6
Set definition of O-notation O(g(n))= { f(n) : there exist constants c> 0, n 0> 0 such that 0 ≤ f(n) ≤ cg(n) for all n≥n 0} EXAMPLE: 2 n 2∈ O(n 3) September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 7
Set definition of O-notation O(g(n))= { f(n) : there exist constants c> 0, n 0> 0 such that 0 ≤ f(n) ≤ cg(n) for all n≥n 0} EXAMPLE: 2 n 2∈ O(n 3) (Logicians: λn. 2 n 2∈O(λn. n 3) , but it’s convenient to be sloppy, as long as we understand what’s reallygoing on. ) September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 8
Macro substitution Convention: A set in a formula represents An anonymous function in the set. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 9
Macro substitution Convention: A set in a formula represents An anonymous function in the set. EXAMPLE: f(n) = n 3+ O(n 2) means f(n) = n 3+ h(n) for some h(n) ∈O(n 2). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 10
Macro substitution Convention: A set in a formula represents An anonymous function in the set. EXAMPLE: n 2 = O(n) + O(n 2) means for any f(n) ∈ O(n) : n 2 + f(n) = h(n) for some h(n) ∈ O(n 2). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 11
Ω-notation (lower bounds) O-notation is an upper-bound notation. It makes no sense to say f(n) is at least O(n 2). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 12
Ω-notation (lower bounds) O-notation is an upper-bound notation. It makes no sense to say f(n) is at least O(n 2). Ω(g(n))= { f(n) : there exist constants c> 0, n 0> 0 such that 0 ≤ cg(n) ≤ f(n) for all n≥n 0} September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 13
Ω-notation (lower bounds) O-notation is an upper-bound notation. It makes no sense to say f(n) is at least O(n 2). Ω(g(n))= { f(n) : there exist constants c> 0, n 0> 0 such that 0 ≤ cg(n) ≤ f(n) for all n≥n 0} EXAMPLE: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 14
-notation (tight bounds) September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 15
-notation (tight bounds) EXAMPLE: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 16
ο -notation and ω-notation O-notation and Ω-notation are like ≤ and ≥. o-notation and ω-notation are like < and >. o(g(n))= { f(n) : for any constant c> 0 there is a constant n 0> 0 such that 0 ≤ f(n) < cg(n) for all n≥ n 0} EXAMPLE: September 12, 2005 2 n 2= o(n 3) (n 0= 2/c) Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 17
ο -notation and ω-notation O-notation and Ω-notation are like ≤ and ≥. o-notation and ω-notation are like < and >. w(g(n))= { f(n) : for any constant c> 0 there is a constant n 0> 0 such that 0 ≤ cg(n) < f(n) for all n≥ n 0} EXAMPLE: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 18
Solving recurrences • The analysis of merge sort from Lecture 1 required us to solve a recurrence. • Recurrences are like solving integrals, differential equations, etc. 。Learn a few tricks. • Lecture 3: Applications of recurrences to divide-and-conquer algorithms. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 19
Substitution method The most general method: 1. Guess the form of the solution. 2. Verify by induction. 3. Solve for constants. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 20
Substitution method The most general method: 1. Guess the form of the solution. 2. Verify by induction. 3. Solve for constants. EXAMPLE: T(n) = 4 T(n/2) + n • [Assume that T(1) = Θ(1). ] • Guess O(n 3). (Prove O and Ωseparately. ) • Assume that T(k) ≤ ck 3 for k< n. • Prove T(n) ≤cn 3 by induction. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 21
Example of substitution T(n) = 4 T(n/2) + n ≤ 4 c(n/2)3 + n = (c/2)n 3 + n = cn 3 –((c/2)n 3 – n)← desired – residual ≤ cn 3 ← desired Whenever (c/2)n 3 – n ≥ 0, for example, if c ≥ 2 and n ≥ 1. residual September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 22
Example (continued) • We must also handle the initial conditions, that is, ground the induction with base cases. • Base: T(n) = Θ(1) for all n< n 0, where n 0 is a suitable constant. • For 1 ≤ n < n 0, we have “Θ(1)” ≤ cn 3, if we pick cbig enough. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 23
Example (continued) • We must also handle the initial conditions, that is, ground the induction with base cases. • Base: T(n) = Θ(1) for all n< n 0, where n 0 is a suitable constant. • For 1 ≤ n < n 0, we have “Θ(1)” ≤ cn 3, if we pick cbig enough. This bound is not tight! September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 24
A tighter upper bound? We shall prove that T(n) = O(n 2). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 25
A tighter upper bound? We shall prove that T(n) = O(n 2). Assume that T(k) ≤ ck 2 for k < n: T(n)= 4 T(n/2) + n ≤ 4 c(n/2)2 + n = cn 2 + n = O(n 2) September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 26
A tighter upper bound? We shall prove that T(n) = O(n 2). Assume that T(k) ≤ ck 2 for k < n: T(n)= 4 T(n/2) + n ≤ 4 c(n/2)2 + n = cn 2 + n = O (n 2) Wrong! We must prove the I. H. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 27
A tighter upper bound? We shall prove that T(n) = O(n 2). Assume that T(k) ≤ ck 2 for k < n: T(n)= 4 T(n/2) + n ≤ 4 c(n/2)2 + n = cn 2 + n = O (n 2) Wrong! We must prove the I. H. = cn 2 – (- n) [ desired - residual] ≤ cn 2 for no choice of c > 0. Lose! September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 28
A tighter upper bound! IDEA: Strengthen the inductive hypothesis. • Subtract a low-order term. Inductive hypothesis: T(k) ≤ c 1 k 2 – c 2 k for k < n. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 29
A tighter upper bound! IDEA: Strengthen the inductive hypothesis. • Subtract a low-order term. Inductive hypothesis: T(k) ≤ c 1 k 2 – c 2 k for k < n. T(n)= 4 T(n/2) + n = 4(c 1(n/2)2–c 2(n/2))+ n = c 1 n 2– 2 c 2 n+ n = c 1 n 2–c 2 n–(c 2 n–n) ≤ c 1 n 2–c 2 n if c 2≥ 1. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 30
A tighter upper bound! IDEA: Strengthen the inductive hypothesis. • Subtract a low-order term. Inductive hypothesis: T(k) ≤ c 1 k 2 – c 2 k for k < n. T(n)= 4 T(n/2) + n = 4(c 1(n/2)2–c 2(n/2))+ n = c 1 n 2– 2 c 2 n+ n = c 1 n 2–c 2 n–(c 2 n–n) ≤ c 1 n 2–c 2 n if c 2≥ 1. Pick c 1 big enough to handle the initial conditions. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 31
Recursion-tree method • A recursion tree models the costs (time) of a recursive execution of an algorithm. • The recursion-tree method can be unreliable, just like any method that uses ellipses (…). • The recursion-tree method promotes intuition, however. • The recursion tree method is good for generating guesses for the substitution method. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 32
Example of recursion tree Solve T(n) = T(n/4) + T(n/2)+ n 2: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 33
Example of recursion tree Solve T(n) = T(n/4) + T(n/2)+ n 2: T(n) September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 34
Example of recursion tree Solve T(n) = T(n/4) + T(n/2)+ n 2: n 2 T(n/4) September 12, 2005 T(n/2) Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 35
Example of recursion tree September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 36
Example of recursion tree September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 37
Example of recursion tree September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 38
Example of recursion tree September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 39
Example of recursion tree September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 40
Example of recursion tree geometric series September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 41
The master method applies to recurrences of the form T(n) = a. T(n/b) + f(n) , where a≥ 1, b> 1, and f is asymptotically positive. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 42
Three common cases Compare f (n)with n logba: 1. f (n) = O (n logba–ε)for some constant ε> 0. • f (n) grows polynomially slower than n logba (by an nεfactor). Solution: T(n) = (n logba) September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 43
Three common cases Compare f (n)with n logba: 1. f (n) = O (n logba–ε)for some constant ε> 0. • f (n) grows polynomially slower than n logba (by an nεfactor). Solution: T(n) = (n logba) 2. f (n) = (n logbalgkn)for some constant k≥ 0. • f (n) and nl ogba grow at similar rates. Solution: T(n) = (n logbalgk+1 n). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 44
Three common cases (cont. ) Compare f (n)with n logba: 3. f (n) = Ω(nlogba+ ε)for some constant ε> 0. • f (n) grows polynomially faster than n logba (by an nεfactor), and f (n) satisfies the regularity condition that af(n/b) ≤ cf(n) for some constant c< 1. Solution: T(n) = (f(n)). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 45
Examples EX. T(n) = 4 T(n/2) + n a =4, b= 2 ⇒n logba =n 2; f(n) = n. CASE 1: f(n) = O(n 2–ε)for ε= 1. ∴T(n) = (n 2). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 46
Examples EX. T(n) = 4 T(n/2) + n a =4, b= 2 ⇒n logba =n 2; f(n) = n. CASE 1: f(n) = O(n 2–ε)for ε= 1. ∴T(n) = (n 2). EX. T(n) = 4 T(n/2) + n 2 a =4, b= 2 ⇒ n logba =n 2; f(n) = n 2. CASE 2: f(n) = (n 2 lg 0 n), that is, k = 0. ∴T(n) = (n 2 lgn). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 47
Examples EX. T(n) = 4 T(n/2) + n 3 a =4, b= 2 ⇒n logba=n 2; f(n) = n 3. CASE 3: f(n) = Ω(n 2+ ε)for ε= 1 and 4(n/2)3≤cn 3 (reg. cond. ) for c= 1/2. ∴T(n) = (n 3). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 48
Examples EX. T(n) = 4 T(n/2) + n 3 a =4, b= 2 ⇒n logba=n 2; f(n) = n 3. CASE 3: f(n) = Ω(n 2+ ε)for ε= 1 and 4(n/2)3≤cn 3 (reg. cond. ) for c= 1/2. ∴T(n) = (n 3). EX. T(n) = 4 T(n/2) + n 2/lgn a =4, b= 2 ⇒ n logba =n 2; f(n) = n 2/lgn. Master method does not apply. In particular, for every constant ε> 0, we have nε= ω(lgn). September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 49
Idea of master theorem Recursion tree: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 50
Idea of master theorem Recursion tree: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 51
Idea of master theorem Recursion tree: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 52
Idea of master theorem Recursion tree: September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 53
Idea of master theorem Recursion tree: CASE 1: The weight increases geometrically from the root to the leaves. The leaves hold a constant fraction of the total weight. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 54
Idea of master theorem Recursion tree: CASE 2: (k= 0) The weight is approximately the same on each of the logbn levels. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 55
Idea of master theorem Recursion tree: CASE 3: The weight decreases geometrically from the root to the leaves. The root holds a constant fraction of the total weight. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 56
Appendix: geometric series Return to last slide viewed. September 12, 2005 Copyright ? 2001 -5 Erik D. Demaine and Charles E. Leiserson 57
- S/2005 j18
- Juhana jacksen
- Hajk vágása
- Algorithm analysis examples
- Bioinformatics
- Introduction of design and analysis of algorithms
- Introduction to algorithms
- Introduction to algorithms 강의
- Introduction to algorithms 2nd edition
- Introduction to algorithms
- Introduction to algorithms lecture notes
- Introduction to the design and analysis of algorithms
- Introduction to sorting algorithms
- Introduction to algorithms 2nd edition
- Introduction to algorithms 2nd edition
- Introduction to bioinformatics algorithms
- An introduction to bioinformatics algorithms
- Lsp401
- Svartpilen 401 dyno
- Cse 401
- Ge 401
- Where should charts with food code 3-401 be displayed
- Eng m 401
- Clase 401
- 401 branard street houston tx
- Bmb 401
- Comm 401
- 401 relevance
- As riquezas mundanas nada valem pra mim
- Hd-wp-4k-401-c
- Quantas prendas faltam para a turma 401 empatar com a 402
- Class 600 stitch
- Clasa miilor
- Chem 401
- Stitch class 406
- Jul 401 english
- Ir401 form
- Melinex st
- P-401 faa
- Csc 401
- Concurrent project management
- Ce 401
- Ce-401
- 401 west georgia vancouver
- Nia 930
- Comp 401
- Bp 401
- Computational thinking algorithms and programming
- Algorithms types
- Ackermann function
- Design and analysis of algorithms syllabus
- Handling patients
- Example of recursion
- Types of randomized algorithms
- Process mining algorithms
- Evolution of logistics ppt
- Nature-inspired learning algorithms
- Metaheuristic algorithms