Q: What is Merge Sort?
function merge_sort(arr)
merge_sort_helper(arr, 0, arr.length - 1)
Merge sort is a top-level, recursive function that splits a list into two halves and merges them back together in a way that's almost, but not quite, as simple as a human being.
Q: What is the Time Complexity of Merge Sort?
The time complexity of merge sort is O(n log n), which is like the time it takes to sort a list of n items: it's not too bad, but not too good either.
Q: What is the Space Complexity of Merge Sort?
The space complexity of merge sort is O(n), because, let's be real, we're only using a tiny bit of extra memory for that one temporary array.
Q: Is Merge Sort Stable?
No, merge sort is not stable. It's like that one friend who always wants to split the bill, but never actually pays.
Q: Why Should I Use Merge Sort?
You should use merge sort because, honestly, it's not like we have anything better to do.
Q: Can I Use Merge Sort for Real-World Problems?
Yes, you can use merge sort for real-world problems, like, for example, sorting a bunch of files in the cloud.