In: Computer Science
Show in a formal mathematical proof, theoretical analysis, an even split of an array into two subarrays which answers in the best performance of quicksort algorithm "appraised with respect to the running time". coding or empirical investigation are not needed.
Quicksort's best case running time is O(n log n) where each partition operation divides the input into two equally sized partitions. The partition operations take O(n) time. Thus each level of the recursive Quicksort implementation has O(n) time complexity (across all the partitions) and the number of levels is however many times we can iteratively divide n by 2, which is O(log n).
The best case occurs when partitions are as evenly balanced as possible: their sizes either are equal or are within 1 of each other.
Proof: