Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 33 CSE 331 Nov 17, 2010. Online office hours Alex will host the office hours.

Similar presentations


Presentation on theme: "Lecture 33 CSE 331 Nov 17, 2010. Online office hours Alex will host the office hours."— Presentation transcript:

1 Lecture 33 CSE 331 Nov 17, 2010

2 Online office hours tonight @9 Alex will host the office hours

3 Next Monday’s lecture I’ll be out of town Jeff will teach the lecture

4 Feedback Forms Link for the survey on the blog

5 Divide and Conquer Divide up the problem into at least two sub-problems Recursively solve the sub-problems “Patch up” the solutions to the sub-problems for the final solution Solve all sub-problems: Mergesort Solve some sub-problems: Multiplication Solve stronger sub-problems: Inversions

6 Integer Multiplication Input: a = (a n-1,..,a 0 ) and b = (b n-1,…,b 0 ) Output: c = a x b a = 1101 b = 1001 c =1110101 a = a 1  2 [n/2] + a 0 a 1 = 11 and a 0 = 01 b = b 1  2 [n/2] + b 0 b 1 = 10 and b 0 = 01

7 First attempt Mult over n bits Multiplication over n/2 bit inputs Shift by O(n) bits Adding O(n) bit numbers T(n) ≤ 4T(n/2) + cn T(1) ≤ c T(n) is O(n 2 )

8 The key identity

9 The final algorithm Input: a = (a n-1,..,a 0 ) and b = (b n-1,…,b 0 ) If n = 1 return a 0 b 0 a 1 = a n-1,…,a [n/2] and a 0 = a [n/2]-1,…, a 0 Compute b 1 and b 0 from b Mult (a, b) Let p = Mult (x, y), D = Mult (a 1, b 1 ), E = Mult (a 0, b 0 ) T(1) ≤ c T(n) ≤ 3T(n/2) + cn O(n log 3 ) = O(n 1.59 ) run time O(n log 3 ) = O(n 1.59 ) run time

10

11 (Old) Reading Assignment Sec 5.2 of [KT]

12 Rankings

13 How close are two rankings?

14 Today’s agenda Formal problem: Counting inversions Divide and Conquer algorithm


Download ppt "Lecture 33 CSE 331 Nov 17, 2010. Online office hours Alex will host the office hours."

Similar presentations


Ads by Google