⇰ MERGE SORT :-
Merge sort is also a type of sorting technique. It is mainly based on divide-and-conquer algorithm as quick and merge sort, which breaks down a list into several sub-lists until each sublist consists of a single element and merging those sublists in a manner that results into a sorted list. Merge sort is a sorting technique based on divide and conquer technique. Its worst-case time complexity is Ο(n log n).
It divides input list in two sub-lists, calls itself for the two sub-lists and then merges the two sorted sub-lists. Suppose we have two sub-lists. listA is a list with n element and listB with m element. The operator that combines the element of listA and listB into single result_list with R=n+m elements is called merging.
If the elements of listA and listB are in sorted order then we may get a result_list in sorted order. If listA and listB are not in sorted order then we have to make them in sorted order and then both the list can be merged.
EXAMPLE :-
Let us take a list:-
1 3 5 2 1 6
⇰ ALGORITHM MERGE SORT :-
Function Used:- Msort( n, listA, m, listB) where,
n = number of element in listA.
m = number of element in listB.
listA = element of listA.
listB = element of listB.
result = after merge list.
Step1 :- Initialize
n = number of element in listA.
m = number of element in listB.
listA = element of listA.
listB = element of listB.
result = after merge list.
Step1 :- Initialize
i = 0, j = 0, k = 0
Step2 :- Repeat step3
while ( i < n and j < m )
Step3 :- If listA[ i ] < listB[ j ]
i> result[ k ] = listA[ i ]
ii> i = i +1
iii> k = k +1
Else if listA[ i ] > listB[ j ]
i> result[ k ] = listB[ j ]
ii> j = j +1
iii> k = k +1
Else
i> i = i +1
ii> j = j +1
iii> k = k +1
Step4 :- Size of listA is larger then listB
If i < n
Step5 :- Repeat through step5 for
l = i, i+1 .... n+1.
i> result [ k ] = list[ i ]
ii> i = i +1
iii> k = k +1
Step6 :- Size of listB is larger than listA
If j < m
Step7 :- Repeat through step7 for
l = j, j+1 .... n-1
i> result[ k ] = listB[ j ]
ii> j = j + 1
iii> k = k+1
Step8 :- Exit.
Share, Follow and please comment if you find anything incorrect or to share more information about the topic discussed above.
Comments
Post a Comment
Please comment.