We analyze the properties of various sorting algorithms.
1. Evaluating A, B, and C:
• A: Both Merge and Heap sort are guaranteed $O(n \log n)$ even in the worst case. This is correct.
• B: Quick sort's worst-case occurs with poor pivot choices (like sorted arrays). Average case is $O(n \log n)$. This is correct.
• C: For large $n$, $O(n \log n)$ (Merge Sort) is always faster than $O(n^2)$ (Insertion Sort). This is incorrect.
2. Evaluating D and E:
• D: Bubble sort does not swap equal elements, preserving their relative order. It is stable. This is correct.
• E: Selection sort performs $O(n)$ swaps in total, whereas Insertion sort can perform $O(n^2)$ swaps/shifts. This is correct.
Conclusion: Statements A, B, D, and E are correct.