Professional Documents
Culture Documents
Method
CO-2
Divide and Conquer
• It is a top-down approach. The algorithms which follow the
divide & conquer techniques involve three steps:
Divide into
A FirstPart SecondPart
two halves
Recursively
Recursively sort
sort
FirstPart SecondPart
Merge
6 2 88 44
Merge-Sort(A, 0, 7)
Merge-Sort(A, 0, 1) , divide
A: 3 7 5 1
8 4
6 2
2
Merge-Sort(A, 0, 7)
Merge-Sort(A, 0, 0) , base case
A: 3 7 5 1
8 4
6
Merge-Sort(A, 0, 7)
Merge-Sort(A, 0, 0), return
A: 3 7 5 1
8 4
6 2
Merge-Sort(A, 0, 7)
Merge-Sort(A, 1, 1) , base case
A: 3 7 5 1
8 4
2
Merge-Sort(A, 0, 7)
Merge-Sort(A, 1, 1), return
A: 3 7 5 1
8 4
6 2
Merge-Sort(A, 0, 7)
Merge(A, 0, 0, 1)
A: 3 7 5 1
8 4
2 6
Merge-Sort(A, 0, 7)
Merge-Sort(A, 0, 1), return
A: 3 7 5 1
2 6 8 4
Merge-Sort(A, 0, 7)
Merge-Sort(A, 2, 3) , divide
A: 3 7 5 1
2 6
8 4
Merge-Sort(A, 0, 7)
Merge-Sort(A, 2, 2), base case
A: 3 7 5 1
2 6
8
Merge-Sort(A, 0, 7)
Merge-Sort(A, 2, 2), return
A: 3 7 5 1
2 6
8 4
Merge-Sort(A, 0, 7)
Merge-Sort(A, 3, 3), base case
A:
2 6
4
Merge-Sort(A, 0, 7)
Merge-Sort(A, 3, 3), return
A: 3 7 5 1
2 6
8 4
Merge-Sort(A, 0, 7)
Merge(A, 2, 2, 3)
A: 3 7 5 1
2 6
4 8
Merge-Sort(A, 0, 7)
Merge-Sort(A, 2, 3), return
A: 3 7 5 1
2 6 4 8
Merge-Sort(A, 0, 7)
Merge(A, 0, 1, 3)
A: 3 7 5 1
2 4 6 8
Merge-Sort(A, 0, 7)
Merge-Sort(A, 0, 3), return
A: 2 4 6 8 3 7 5 1
Merge-Sort(A, 0, 7)
Merge-Sort(A, 4, 7)
A: 2 4 6 8
3 7 5 1
Merge-Sort(A, 0, 7)
Merge (A, 4, 5, 7)
A: 2 4 6 8
1 3 5 7
Merge-Sort(A, 0, 7)
Merge-Sort(A, 4, 7), return
A: 2 4 6 8 1 3 5 7
Merge-Sort(A, 0, 7)
Merge-Sort(A,
Merge(A, 0, 3, 0,
7)7), done!
A: 1 2 3 4 5 6 7 8
Ex:- [ 179, 254, 285, 310, 351, 423, 450, 520, 652,861 ]
1,10
1,5 6,10
B: 5 5 15 28 30 6 10 14
L: R:
3 5 15 28 6 10 14 22
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
3
1 5 15 28 30 6 10 14
k=low
L: R:
3
2 15
3 28
7 30
8 6
1 10
4 14
5 22
6
i=low j=mid+1
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2
5 15 28 30 6 10 14
L: R:
3
2 5
3 15
7 28
8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 28 30
15 6 10 14
L: R:
2 3 7 8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 4 6 10 14
L: R:
2 3 7 8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 4 5 6 10 14
L: R:
2 3 7 8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 4 5 6 10 14
L: R:
2 3 7 8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 4 5 6 7 14
L: R:
2 3 7 8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 4 5 6 7 8
14
L: R:
3
2 5
3 15
7 28
8 6
1 10
4 14
5 22
6
i j
Merge-Sort: Merge Example
A: 5 5 15 28 30 6 10 14
B:
1 2 3 4 5 6 7 8
L: R:
3
2 5
3 15
7 28
8 6
1 10
4 14
5 22
6
i j
A:
5 5 15 28 30 6 10 14
B: 1 2 3 4 5 6 7 8
Merge Sort Analysis
n/2 n/2
2 2 2