Add Quick Sort algorithm
Feature Request
Add Quick Sort algorithm implementation to the sorting algorithms collection.
Requirements
- Implement Quick Sort with good performance characteristics
- Use optimization techniques to avoid worst-case scenarios on sorted/reverse sorted data
- Add comprehensive test coverage
- Update documentation in README
- Add to demo program in main.py
Technical Details
- Time Complexity: O(n log n) average, O(n²) worst case
- Space Complexity: O(log n) due to recursion stack
- Consider using median-of-three pivot selection for better performance
Acceptance Criteria
-
Quick Sort function implemented in sort.py -
All tests pass including edge cases -
Algorithm registered with proper metadata -
README updated with complexity information -
Demo program includes Quick Sort