06 - 20 jan - divide and conquer

32
CS 321. Algorithm Analysis & Design Lecture 6 Divide and Conquer

Upload: neeldhara-misra

Post on 15-Apr-2017

150 views

Category:

Education


1 download

TRANSCRIPT

Page 1: 06 - 20 Jan - Divide and Conquer

CS 321. Algorithm Analysis & Design Lecture 6

Divide and Conquer

Page 2: 06 - 20 Jan - Divide and Conquer

Closest Pair

Page 3: 06 - 20 Jan - Divide and Conquer
Page 4: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Page 5: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 6: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x) coordinates.

Output: The closest pair.

Page 7: 06 - 20 Jan - Divide and Conquer

Compute distances between all pairs.

Approach #0

O(n2)

Page 8: 06 - 20 Jan - Divide and Conquer

Sort the points.

Sweep through adjacent pairs.

Approach 1

Time to sort + O(n)

Page 9: 06 - 20 Jan - Divide and Conquer

Divide and Conquer.

Split the point set, use recursive solutions.

Approach 2

C ost of Recursion + Time to merge

Page 10: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x) coordinates.

Output: The closest pair.

Page 11: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x) coordinates.

Output: The closest pair.

Page 12: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x) coordinates.

Output: The closest pair.

Closest Pair on Left - d1

Closest Pair on Right - d2

Page 13: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x) coordinates.

Output: The closest pair.

Closest Pair on Left - d1

Closest Pair on Right - d2

Page 14: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 15: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

1

2

3

4

5

67

8

9

10

11

12

13

Page 16: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 17: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

13

1

7

5

3

98

11

10

4

12

2

6

Page 18: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 19: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 20: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 21: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 22: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

Page 23: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

d/2

d/2

Page 24: 06 - 20 Jan - Divide and Conquer

Input: A set of n points given in terms of (x,y) coordinates.

Output: The closest pair.

d/2

d/2

Page 25: 06 - 20 Jan - Divide and Conquer
Page 26: 06 - 20 Jan - Divide and Conquer
Page 27: 06 - 20 Jan - Divide and Conquer
Page 28: 06 - 20 Jan - Divide and Conquer
Page 29: 06 - 20 Jan - Divide and Conquer
Page 30: 06 - 20 Jan - Divide and Conquer
Page 31: 06 - 20 Jan - Divide and Conquer
Page 32: 06 - 20 Jan - Divide and Conquer

T(n) ≤ 2T(n/2) + O(n)

T(n) = O(n log n)