Download presentation
Presentation is loading. Please wait.
1
Lecture 31 CSE 331 Nov 16, 2009
2
Jeff is out of town this week No regular recitation or Jeff’s normal office hours I’ll hold extra Question sessions Mon, Tue 4-6pm Bell 242 Email me if you plan to come in after 5:30pm
3
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
4
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
5
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 )
6
The key identity
7
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
9
(Old) Reading Assignment Sec 5.2 of [KT]
10
Rankings
11
How close are two rankings?
12
Today’s agenda Formal problem: Counting inversions Divide and Conquer algorithm
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.