The runtime of the algorithm is constant and does not depend on the input size.
The runtime of the algorithm grows logarithmically with the input size.
The runtime of the algorithm grows linearly with the input size.
The runtime of the algorithm grows as the square root of the input size.
The runtime of the algorithm combines linear time and logarithmic time.
This is the time complexity of a nested loop where the inner loop runs m times for each iteration of the outer loop.
The runtime of the algorithm grows quadratically with the input size.
This typically happens when we do about n * n operations, such as a nested loop over the same array. Two separate passes over an array of size n are O(n) + O(n) = O(n), not O(n²).
The runtime of the algorithm grows cubically with the input size.
Exponential time complexity. The runtime of the algorithm grows exponentially with the input size.
This often appears in include/exclude decision trees, such as generating all subsets of n elements.
The runtime of the algorithm grows factorially with the input size.
This often appears when generating all permutations of n distinct elements, where order matters.