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