Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.