Merge Sort is a Divide and Conquer algorithm. It divides input array in two halves, calls itself for the two halves and then merges the two sorted halves. The merge() function is used for merging two halves. The merge(arr, l, m, r) is key process that assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted sub-arrays into one.
Please refer complete article on Merge Sort for more details!
- Java Program for Merge Sort
- Python Program for Merge Sort
- C Program for Iterative Merge Sort
- Java Program for Iterative Merge Sort
- C Program for Merge Sort for Linked Lists
- Python Program for Iterative Merge Sort
- C/C++ Program to Count Inversions in an array | Set 1 (Using Merge Sort)
- Merge Sort with O(1) extra space merge and O(n lg n) time
- Why Quick Sort preferred for Arrays and Merge Sort for Linked Lists?
- Quick Sort vs Merge Sort
- Merge Sort vs. Insertion Sort
- In-Place Merge Sort
- Iterative Merge Sort
- Visualization of Merge sort using Matplotlib
- Merge Sort for Linked Lists
- Merge Sort using Multi-threading
- Iterative Merge Sort for Linked List
- Count Inversions in an array | Set 1 (Using Merge Sort)
- Merge Sort for Doubly Linked List
- Concurrent Merge Sort in Shared Memory