Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Solutions to Recurrences Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong.

Similar presentations


Presentation on theme: "1 Solutions to Recurrences Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong."— Presentation transcript:

1 1 Solutions to Recurrences Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong

2 2 e.g.1 (Page 4) Somebody has chosen a “hidden” number x between 1 and n. We want to discover x by asking one of the following two types of questions. Is x greater than k (given by us)? Is x equal to k (given by us)? Is x greater than k (given by us)? Is x equal to k (given by us)?

3 3 e.g.1 When n = 1 1 Is x greater than k (given by us)? Is x equal to k (given by us)? We will ask: is x equal to 1? Yes Let T(n) be the total number of questions given n numbers. T(n) = 1

4 4 e.g.1 When n = 2 Is x greater than k (given by us)? Is x equal to k (given by us)? We will ask: is x greater than 1? Yes 12 Let T(n) be the total number of questions given n numbers. T(n) = 1 Left number Right number

5 5 e.g.1 When n = 2 Is x greater than k (given by us)? Is x equal to k (given by us)? We will ask: is x greater than 1? Yes 12 is x equal to 2?Yes Let T(n) be the total number of questions given n numbers. T(n) = 12 Left number Right number

6 6 e.g.1 When n is equal to any number Is x greater than k (given by us)? Is x equal to k (given by us)? 123 4 5678 We will ask: is x greater than 4? Yes Left number set Right number set Let T(n) be the total number of questions given n numbers. T(n) = 1

7 7 e.g.1 When n is equal to any number Is x greater than k (given by us)? Is x equal to k (given by us)? 123 4 5678 We will ask: is x greater than 4? Yes Left number set Right number set Let T(n) be the total number of questions given n numbers. T(n) = 1 Then, we ask a number of questions in the right number set for n/2 numbers (i.e., 8/2 = 4 numbers) The total number of questions in the right number set = T(n/2) + T(n/2)

8 8 e.g.2 (Page 12) Given 2T( ) + n if n > 1 T(1) if n = 1 find the closed form of T(n) by iterating the recurrence T(n) = n 2 2T( ) + n if n > 1 T(1) if n = 1 n 2

9 9 e.g.2 T(n) = 2T( ) + n if n > 1 T(1) if n = 1 n 2 T(n) =2T( ) + n n 2 =2( 2T( ) + ) + n n 2 n2 =2 2 T( ) + n + n n2 =2 2 T( ) + 2n n2 =2 2 ( 2T( ) + ) + 2n n 2 n 2323 =2 3 T( ) + n + 2n n 2323 =2 3 T( ) + 3n n 2323 … =2 i T( ) + i. n n 2i2i … What should we do next? The base case is T(1). Thus, we want 2 i = n Thus, i = log 2 n =2 log 2 n T( ) + (log 2 n). n n 2 log 2 n =n T(1) + n log 2 n Note that 2 log 2 n = n Since T(1) is equal to a constant (e.g., b), T(n) = n. b + n log 2 n =  (n log 2 n)

10 10 e.g.3 (Page 15) Given T( ) + 1 if n  2 1 if n = 1 find the closed form of T(n) by iterating the recurrence T(n) = n 2 T( ) + 1 if n  2 1 if n = 1 n 2

11 11 e.g.3 T(n) =T( ) + 1 n 2 =( T( ) + 1) + 1 n2 =T( ) + 2 n2 … =T( ) + i n 2i2i … What should we do next? The base case is T(1). Thus, we want 2 i = n Thus, i = log 2 n =T( ) + log 2 n n 2 log 2 n =T(1) + log 2 n Note that 2 log 2 n = n T(n) = T( ) + 1 if n  2 1 if n = 1 n 2 =( T( ) + 1) + 2 n 2323 =T( ) + 3 n 2323 =1 + log 2 n T(n) =  (log 2 n) = O(n)

12 12 e.g.4 (Page 16) Given T( ) + n if n  2 1 if n = 1 find the closed form of T(n) by iterating the recurrence T(n) = n 2 T( ) + n if n  2 1 if n = 1 n 2

13 13 =n( + + + … + + + ) 1 2 log 2 n-1 1 2 log 2 n-2 1 2 1 2 1 2 log 2 n 1 2020 e.g.4 T(n) =T( ) + n n 2 … … The base case is T(1). Thus, we want 2 i = n Thus, i = log 2 n T(n) = T( ) + n if n  2 1 if n = 1 n 2 =( T( ) + ) + n n2 n 2 =T( ) + + n n2 n 2 =( T( ) + ) + + n n2 n 2 n 2323 =T( ) + + + n n2 n 2 n 2323 =T( ) + + + … + + + n n 2 i-1 n 2 i-2 n 2i2i n 2 n 2 =T( ) + + + … + + + n n 2 log 2 n-1 n 2 log 2 n-2 n 2 log 2 n n 2 n 2 =T(1) + + + … + + + n n 2 log 2 n-1 n 2 log 2 n-2 n 2 n 2 =1 + + + … + + + n n 2 log 2 n-1 n 2 log 2 n-2 n 2 n 2 = + + + … + + + n n 2 log 2 n-1 n 2 log 2 n-2 n 2 n 2 n n = + + + … + + + n 2 log 2 n-1 n 2 log 2 n-2 n 2 n 2 n 2 log 2 n n 2020 Note that 2 log 2 n = n =n ( ) i 1 2 =  (n) What should we do next? By Lemma 4.3 or Theorem 4.4, 1 2 ( ) i =  (t(n)) Since r =1/2 (<1), t(n) =  (1) 1 2 ( ) i =  (1)

14 14 e.g.5 (Page 22) T(n) = 2T( ) + n if n > 1 T(1) if n = 1 n 2 T(n) =  (n log 2 n) T(n) = T( ) + 1 if n  2 1 if n = 1 n 2 T(n) = O(n) T(n) = T( ) + n if n  2 1 if n = 1 n 2 T(n) =  (n) e.g.2 (Page 12) e.g.3 (Page 15) e.g. 4 (Page 16) T(n) = 4T( ) + n if n  2 1 if n = 1 n 2 T(n) =  ( ? ) It is equal to n log 2 4 =n 2 This value (i.e.,2) is equal to 2. This value (i.e.,1) is smaller than 2. This value (i.e.,4) is larger than 2.

15 15 e.g.6 (Page 25) If a > 2, what is the complexity of ? If a > 2, find the complexity of

16 16 e.g.6 Lemma 4.3 (or Theorem 4.4): Let r  1 be a positive value independent of m. Let t(m) be the largest term in the geometric series Then, the value of the geometric series is  (t(m)).  r i According to the explanation in our previous lecture, if r < 1, t(m) = O(1) if r > 1, t(m) = O(r m-1 ) The value of the geometric series is  (1). The value of the geometric series is  (r m-1 ). If a > 2, find the complexity of We know the following lemma. Since a > 2, a 2 > 1 Thus, t(m) = O( ) a 2 ( ) (log 2 n)–1 The value of the geometric series is O( ) a 2 ( ) (log 2 n)–1 The complexity of is O( ) a 2 ( ) (log 2 n)–1


Download ppt "1 Solutions to Recurrences Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong."

Similar presentations


Ads by Google