From fastest to slowest:
Always take one step (or a little bit more).
Number of steps increase by 1 when data doubles.
Example: binary search
The number of step grows at the same rates as the number of items.
When we loop over a collection, and for each items, loops over another collection while reducing the data set.
Example: merge sort.
When you loop over a data set and within each loop, loop over it again.
Triple nested loops.
Each new item double the number of steps.
Usually when calculating permutations.