Improve quicksort algorithm implementation
The current quicksort implementation works but could be improved with better pivot selection strategies and optimization for edge cases.\n\nAcceptance Criteria:\n1. Implement at least two different pivot selection methods (e.g., median-of-three, random pivot)\n2. Add optimization for small arrays (e.g., switch to insertion sort for arrays smaller than threshold)\n3. Ensure all existing tests continue to pass\n4. Add new test cases for the improved implementations\n5. Update documentation with performance characteristics