1. Algorithm Description: Quick Sort is an efficient, comparison-based, divide-and-conquer sorting algorithm. It works by selecting a 'pivot' element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot.
2. Steps of Quick Sort:
3. Time Complexity: O(n log n) on average, O(n²) in the worst case (when the pivot is the smallest or largest element repeatedly).
4. Space Complexity: O(log n) for the stack space used by recursive calls.
5. Stability: Quick Sort is not a stable sorting algorithm.
6. Suitability: Efficient for large datasets and widely used in practice. It's often preferred for in-memory sorting.