Merge sort is divide and conquer sorting algorithm . Merge procedure is the heart of algorithm. Given two sorted arrays of size M & N, merge procedure will create a new sorted array of size M + N.
Consider an array of 5 elements (2,5,4,1,3) . Merge sort can be visualised in three phases :
1) In the given example, given array is split into two smaller arrays. Now, these two smaller arrays will recursively split themselves further into smaller arrays till only one element is left in an array. This phase is called as Divide Phase. In given diagram, as you can see on the fourth step, each element is split in its own individual array.
2) Now in Conquer Phase merge procedure will combine these arrays in ascending order.
3) Now in Combined Phase these smaller sorted arrays will merge together to form a single sorted array of original size.