Merge Sort
Merge Sort
Sanskriti Debnath:06301032023
#include <iostream>
#include <vector>
#include <chrono>
#include <algorithm>
void merge(vector<int>& arr, int si, int mid, int ei, vector<int>& temp) {
int i = si, j = mid + 1, k = si;
int main() {
vector<int> sizes = {1000, 4000, 8000, 16000, 32000, 64000};
for (int size : sizes) {
vector<int> arr(size), temp(size);
return ;
output:
Sorted Array - Size: 1000, Time: 0 ms
Reverse Sorted Array - Size: 1000, Time: 0 ms
Random Array - Size: 1000, Time: 0 ms
--------------------------------------------
Sorted Array - Size: 4000, Time: 1 ms
Reverse Sorted Array - Size: 4000, Time: 1 ms
Random Array - Size: 4000, Time: 2 ms
--------------------------------------------
Sorted Array - Size: 8000, Time: 3 ms
Reverse Sorted Array - Size: 8000, Time: 3 ms
Random Array - Size: 8000, Time: 5 ms
--------------------------------------------
Sorted Array - Size: 16000, Time: 2 ms
Reverse Sorted Array - Size: 16000, Time: 2 ms
Random Array - Size: 16000, Time: 4 ms
--------------------------------------------
Sorted Array - Size: 32000, Time: 8 ms
Reverse Sorted Array - Size: 32000, Time: 7 ms
Random Array - Size: 32000, Time: 12 ms
--------------------------------------------
Sorted Array - Size: 64000, Time: 14 ms
Reverse Sorted Array - Size: 64000, Time: 11 ms
Random Array - Size: 64000, Time: 18 ms
Graph table
Number of elements Sorted array Reverse sorted array Random array
1000 0 0 0
4000 0 0 1
8000 1 1 2
16000 3 3 5
32000 7 8 12
64000 14 11 18