A. insertion sort - gives time complexity of O(n^2)
B. Quick sort - Ads the array is in reversed order, it is worst case for it, so time complexity O(n^2)
C. Merge sort - time complexity is O(nlogn), but takes additional time for unnecessary division.
D. Heap Sort - complexity O(nlogn). (Answer)