CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
Week 2 Growth of Functions Divide-and- Divide and Conquer - - PowerPoint PPT Presentation
CS 270 Algorithms Oliver Kullmann Week 2 Growth of Functions Divide-and- Divide and Conquer Conquer Min-Max- Problem Tutorial Growth of Functions 1 Divide-and-Conquer 2 Min-Max-Problem Tutorial 3 CS 270 General remarks
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
≥0.
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 If we replace line 7 of the algorithm by r = p+1, then the
2 For example, T ′(6) = 7 whereas T(6) = 8. 3 It can be shown that at least
4 Hence this (last) algorithm is provably optimal.
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 5n + 111 = O(n) ? YES 2 5n + 111 = O(n2) ? YES 3 5n + 111 = Ω(n) ? YES 4 5n + 111 = Ω(n2) ? NO 5 5n + 111 = Θ(n) ? YES 6 5n + 111 = Θ(n2) ? NO 7 2n = O(3n) ? YES 8 2n = Ω(3n) ? NO 9 120n2 + √n + 99n = O(n2) ? YES 10 120n2 + √n + 99n = Θ(n2) ? YES 11 sin(n) = O(1) ? YES
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 T(1) = 0 2 T(2) = 1 3 T(3) = T(2) + T(1) + 2 = 1 + 0 + 2 = 3 4 T(4) = T(2) + T(2) + 2 = 1 + 1 + 2 = 4 5 T(5) = T(3) + T(2) + 2 = 3 + 1 + 2 = 6 6 T(6) = T(3) + T(3) + 2 = 3 + 3 + 2 = 8 7 T(7) = T(4) + T(3) + 2 = 4 + 3 + 2 = 9 8 T(8) = T(4) + T(4) + 2 = 4 + 4 + 2 = 10 9 T(9) = T(5) + T(4) + 2 = 6 + 4 + 2 = 12 10 T(10) = T(5) + T(5) + 2 = 6 + 6 + 2 = 14.
CS 270 Algorithms Oliver Kullmann Growth of Functions Divide-and- Conquer
Min-Max- Problem
Tutorial
1 As you can see in the section on the min-max problem, for
2 One can now try to find a precise general formula for T(n), 3 However we see that we have T(6) = 8, while we can
4 And that is the case: 1
2