If the range(0 - n) is given for the input numbers, then Counting sort can be useful in terms of Time complexity => O(n + k). and space complexity => O(k) if maximum key value is significantly smaller than the no. of inputs.
Otherwise, Heap sort would be the best one to use as Time Complexity => O(n*log(n)) and space complexity => O(1).