Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 27 CSE 331 Nov 3, 2017.

Similar presentations


Presentation on theme: "Lecture 27 CSE 331 Nov 3, 2017."— Presentation transcript:

1 Lecture 27 CSE 331 Nov 3, 2017

2 UB Hacking

3 You need to re-form groups

4 HW 7 posted

5 Solutions for HW 6 At the END of the lecture

6 Mergesort algorithm Input: a1, a2, …, an
Output: Numbers in sorted order MergeSort( a, n ) aL = a1,…, an/2 aR = an/2+1,…, an return MERGE ( MergeSort(aL, n/2), MergeSort(aR, n/2) ) If n = 1 return the order a1

7 Inductive step follows from correctness of MERGE
Input: a1, a2, …, an Output: Numbers in sorted order By induction on n MergeSort( a, n ) aL = a1,…, an/2 aR = an/2+1,…, an return MERGE ( MergeSort(aL, n/2), MergeSort(aR, n/2) ) If n = 1 return the order a1 Inductive step follows from correctness of MERGE

8 Rest of today’s agenda Analyze runtime of mergesort algorithm

9 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

10 Improvements on a smaller scale
Greedy algorithms: exponential  poly time (Typical) Divide and Conquer: O(n2)  asymptotically smaller running time

11 Multiplying two numbers
Given two numbers a and b in binary a=(an-1,..,a0) and b = (bn-1,…,b0) Running time of primary school algorithm? Compute c = a x b


Download ppt "Lecture 27 CSE 331 Nov 3, 2017."

Similar presentations


Ads by Google