Time Complexities of all Sorting Algorithms
Last Updated :
19 Mar, 2025
Improve
The efficiency of an algorithm depends on two parameters:
- Time Complexity
- Auxiliary Space
Both are calculated as the function of input size(n). One important thing here is that despite these parameters, the efficiency of an algorithm also depends upon the nature and size of the input.
Time Complexity:
Time Complexity is defined as order of growth of time taken in terms of input size rather than the total time taken. It is because the total time taken also depends on some external factors like the compiler used, the processor’s speed, etc.
Auxiliary Space:
Auxiliary Space is extra space (apart from input and output) required for an algorithm.
Types of Time Complexity :
- Best Time Complexity: Define the input for which the algorithm takes less time or minimum time. In the best case calculate the lower bound of an algorithm. Example: In the linear search when search data is present at the first location of large data then the best case occurs.
- Average Time Complexity: In the average case take all random inputs and calculate the computation time for all inputs.
And then we divide it by the total number of inputs. - Worst Time Complexity: Define the input for which algorithm takes a long time or maximum time. In the worst calculate the upper bound of an algorithm. Example: In the linear search when search data is present at the last location of large data then the worst case occurs.
Following is a quick revision sheet that you may refer to at the last minute:
Algorithm | Time Complexity | Auxiliary Space | ||
---|---|---|---|---|
Best | Average | Worst | Worst | |
Selection Sort | O(n2) | O(n2) | O(n2) | O(1) |
Bubble Sort | O(n) | O(n2) | O(n2) | O(1) |
Insertion Sort | O(n) | O(n2) | O(n2) | O(1) |
Heap Sort | O(n log(n)) | O(n log(n)) | O(n log(n)) | O(1) |
Quick Sort | O(n log(n)) | O(n log(n)) | O(n2) | O(n) |
Merge Sort | O(n log(n)) | O(n log(n)) | O(n log(n)) | O(n) |
Bucket Sort | O(n +k) | O(n +k) | O(n2) | O(n) |
Radix Sort | O(nk) | O(nk) | O(nk) | O(n + k) |
Count Sort | O(n +k) | O(n +k) | O(n +k) | O(k) |
Shell Sort | O(n log(n)) | O(n log(n)) | O(n2) | O(1) |
Tim Sort | O(n) | O(n log(n)) | O(n log (n)) | O(n) |
Tree Sort | O(n log(n)) | O(n log(n)) | O(n2) | O(n) |
Cube Sort | O(n) | O(n log(n)) | O(n log(n)) | O(n) |
Also, see:
- Searching and Sorting articles
- Previous year GATE Questions on Sorting
- Time and Space Complexity of Insertion Sort
- Time and Space Complexity of Selection Sort
- Time and Space Complexity of Bubble Sort
- Time and Space Complexity of Quick Sort
- Time and Space Complexity of Merge Sort
- Time and Space complexity of Radix Sort Algorithm