Merj sort

29
TOPIC :- MERGE SORT

Transcript of Merj sort

Page 1: Merj sort

TOPIC :-

MERGE SORT

Page 2: Merj sort

B A S I C C O N C E P T O F M E R G E S O R T

I. Uses divide and conquer technique.

II. array is divided into sub-array.

III. Sub-arrays merged to get sorted result.

Page 3: Merj sort

DIVIDE AND CONQUER

Divide and conquer method for algorithm design:

• Divide: Large problem is divided into sub-problems

• Conquer: recursively solve the sub-problems

• Combine: • Take the solutions to the sub-problems• “merge” these solutions into final solution

3

Page 4: Merj sort

DRY RUN OF PROGRAM

4

Page 5: Merj sort

CONTD.

5

Page 6: Merj sort

CONTD.

6

Page 7: Merj sort

CONTD.

7

Page 8: Merj sort

CONTD.

8

Page 9: Merj sort

CONTD.

9

Page 10: Merj sort

CONTD.

10

Page 11: Merj sort

CONTD.

11

Page 12: Merj sort

CONTD.

12

Page 13: Merj sort

CONTD.

13

Page 14: Merj sort

CONTD.

14

Page 15: Merj sort

CONTD.

15

Page 16: Merj sort

CONTD.

16

Page 17: Merj sort

CONTD.

17

Page 18: Merj sort

CONTD.

18

Page 19: Merj sort

CONTD.

19

Page 20: Merj sort

CONTD.

20

Page 21: Merj sort

CONTD.

21

Page 22: Merj sort

CONTD.

22

Page 23: Merj sort

CONTD.

23

Page 24: Merj sort

CONTD.

24

Page 25: Merj sort

AT THE END SORTED

25

Page 26: Merj sort

MERGING FUNCTION void merge ( int , int , int ) ;

void merge _ sort(int low , int high)

{

int mid;

if(low<high)

{

mid=( low + high)/2 ;

merge _ sort ( low , mid) ;

merge _ sort(mid+1,high);

merge ( low , mid , high) ;

}

}

Page 27: Merj sort

IMPLEMENTATION

Page 28: Merj sort

SUMMARY OF SORTING ALGORITHMS

Algorithm Time Notes

selection-sort O(n2) in-place slow (good for small inputs)

insertion-sort O(n2) in-place slow (good for small inputs)

quick-sort O(n log n) expected

in-place, randomized fastest (good for large inputs)

merge-sort O (n log n) sequential data access fast (good for huge inputs)

Page 29: Merj sort

ANY QUESTION…