If we are talking about the minimum amount of comparisons required in a worst case comparison sort, it should be understood that all general comparison sorting algorithms taking $O(n\log n)$ time. Of these algorithms I'm not sure which has the best actual operation count, but in the worst case we can rule out all $O(n^2)$ algorithms, which includes things like quicksort
, bubble sort
, insertion sort
, etc. Leaving us with things like mergesort
, heapsort
, Timsort
, etc.
You will have to do a look into the comparisons of the latter, but I think a good contender is mergesort
, as the number of operations is constant with respect to changes in input order.
Assuming we have an array of size $n=2^k$, just so that the divisions can be easier creating an upper bound for us, we can see that since merge sort runs through the two lists to merge until one is complete, each time two lists of size $m$ are merged, there will be precisely $m$ comparison operations. This gives us a total count of merges and operations as
$$
O = \dfrac{n}{2} + 2\dfrac{n}{4} + 4\dfrac{n}{8} + ... + 2^{k-1}\dfrac{n}{2^k}=\sum_{j=1}^k \dfrac{n}{2} = \dfrac{kn}{2} = \dfrac{n\log_2 n}{2}
$$
which is the exact number of comparison operations for mergesort
of an array of a length that is to the power of $2$. This formula would have to be modified to account for array lengths that aren't as well behaved, however it provides a nice upper bound. Also I have no proof that this is in fact the absolute minima number of operations, but its just one possibility of an algorithm