Quick Sort Visualizer
Watch how Quick Sort uses divide-and-conquer by partitioning around a pivot element to efficiently sort the array.
Time: O(n log n) avg
Space: O(log n)
Stable: No
In-place: Yes
Fast (500ms)Slow (3000ms)
Progress: Step 1 of 0Level 0 | Phase: start
640
341
252
123
224
115
906
Unsorted
Pivot
Partitioning Range
Left Partition (≤ pivot)
Right Partition (> pivot)
Current Pointers
Comparing
Swapping
Sorted
Current Step:
Click Start to begin the Quick Sort visualization
Algorithm Details
Best Case:
O(n log n)
Average Case:
O(n log n)
Worst Case:
O(n²)
Space:
O(log n)
Stable:No
In-place:Yes
When to Use Quick Sort
- ✓Large datasets with good pivot selection
- ✓Memory-constrained environments (in-place)
- ✓When average-case performance is acceptable
- ✓Cache-efficient sorting needed
- ✗When worst-case O(n²) is unacceptable
- ✗When stability is required
Real-world Applications
- •Unix sort command implementation
- •Programming language standard libraries
- •Database query optimization
- •Finding k-th smallest/largest element
- •Numerical analysis algorithms
Optimization Tips
- •Use median-of-three pivot selection
- •Switch to insertion sort for small subarrays
- •Use tail recursion optimization
- •Implement 3-way partitioning for duplicate keys