Presentation is loading. Please wait.

Presentation is loading. Please wait.

O-notation (upper bound)

Similar presentations


Presentation on theme: "O-notation (upper bound)"— Presentation transcript:

1 O-notation (upper bound)
Asymptotic running times of algorithms are usually defined by functions whose domain are N={0, 1, 2, …} (natural numbers) Formal Definition of O-notation f(n) = O(g(n)) if  positive constants c, n0 such that 0 ≤ f(n) ≤ cg(n), n ≥ n0 Ex. 2n2 = O(n3) 2n2 ≤ cn3  cn ≥ 2  c = 1 & n0 = 2 or c = 2 & n0 = 1 2n3 = O(n3) 2n3 ≤ cn3  c ≥ 2  c = 2 & n0 = 1 BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

2 O-notation (upper bound)
“=” is funny; “one-way” equality O-notation is sloppy, but convenient. We must understand what O(n) really means O(g(n)) is actually a set of functions. O(g(n)) = { f(n) :  positive constants c, n0 such that 0 ≤ f(n) ≤ cg(n), n ≥ n0 } 2n2 = O(n3) means that 2n2  O(n3) BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

3 O-notation (upper bound)
O-notation is an upper-bound notation It makes no sense to say “running time of an algorithm is at least O(n2)”. let running time be T(n) T(n) ≥ O(n2) means T(n) ≥ h(n) for some h(n)  O(n2) however, this is true for any T(n) since h(n) = 0  O(n2), & running time > 0, so stmt tells nothing about running time BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

4 O-notation (upper bound)
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

5 -notation (lower bound)
Formal Definition of -notation f(n) = (g(n)) if  positive constants c, n0 such that 0 ≤ cg(n) ≤ f(n) , n ≥ n0 (g(n)) { f(n) :  positive constants c, n0 such that 0 ≤ cg(n) ≤ f(n) , n ≥ n0 } BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

6 -notation (lower bound)
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

7 Θ-notation (tight bound)
Formal Definition of Θ-notation f(n) = Θ(g(n)) if  positive constants c1, c2, n0 such that 0 ≤ c1g(n) ≤ f(n) ≤ c2g(n) , n ≥ n0 Θ(g(n)) { f(n) :  positive constants c1, c2, n0 such that 0 ≤ c1g(n) ≤ f(n) ≤ c2g(n) , n ≥ n0 } BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

8 Θ-notation (tight bound) - Example
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

9 Θ-notation (tight bound) - 0 < c1 ≤ h(n) ≤ c2
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

10 Θ-notation (tight bound) - 0 < c1 ≤ h(n) ≤ c2
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

11 Θ-notation (tight bound)
Θ(g(n)) { f(n) :  positive constants c1, c2, n0 such that 0 ≤ c1g(n) ≤ f(n) ≤ c2g(n) , n ≥ n0 } BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

12 Θ-notation BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

13 Θ-notation BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

14 Using O-notation for Describing Running Times
O-notation is used to bound worst-case running times bounds running time on arbitrary inputs as well O(n2) bound on worst-case running time of insertion sort also applies to its running time on every input What we really mean by “running time of insertion sort is O(n2)” worst-case running time of insertion sort is O(n2) or equivalently no matter what particular input of size n is chosen (for each value of) running time on that set of inputs is O(n2) BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

15 Using Ω-notation for Describing Running Times
Ω(n) is used to bound the best-case running times bounds the running time on arbitrary inputs as well e.g., Ω(n) bound on best-case running time of insertion sort running time of insertion sort is Ω(n) “running time of an algorithm is Ω(g(n))” means no matter what particular input of size n is chosen (for any n), running time on that set of inputs is at least a constant times g(n), for sufficiently large n however, it is not contradictory to say “worst-case running time of insertion sort is Ω(n2)” since there exists an input that causes algorithm to take Ω(n2) time BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

16 Using Θ-notation for Describing Running Times
Case 1. used to bound worst-case & best-case running times of an algorithm if they are not asymptotically equal Case 2. used to bound running time of an algorithm if its worst & best case running times are asymptotically equal BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

17 Using Θ-notation for Describing Running Times
Case (1) a Θ-bound on worst-/best-case running time does not apply to its running time on arbitrary inputs e.g., Θ(n2) bound on worst-case running time of insertion sort does not imply a Θ(n2) bound on running time of insertion sort on every input since T(n) = O(n2) & T(n) = Ω(n) for insertion sort BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

18 Using Θ-notation for Describing Running Times
Case (2) implies a Θ-bound on every input e.g., merge sort T(n) = O(nlgn) T(n) = Ω(nlgn)  T(n) = Θ(nlgn) BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

19 Asymptotic Notation In Equations
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

20 Asymptotic notation appears on LHS of an equation
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

21 Other asymptotic notations – o-notation (small o)
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

22 o-notation BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

23 ω-notation (small omega notation)
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

24 Asymptotic comparison of functions
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

25 Analogy to the comparison of two real numbers
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)

26 Analogy to the comparison of two real numbers
BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)


Download ppt "O-notation (upper bound)"

Similar presentations


Ads by Google