Analysis of algorithms
Algorithm analysis, as said before, is the process of finding the computational complexity of algorithms. This involves determining a function that relates the length of an algorithm’s input to the number of steps it performs (its time complexity) or to the number of storage locations it uses (its space complexity).
The ultimate goal is not just to make code that works, but that is also efficient. For that, one must study some types of problems that can be solved computationally. An algorithm is said to be efficient when the values of this function are small or grow slowly compared to the input size growth. Different inputs with the same length can cause the algorithm to behave differently, for that, the best, worst and average case descriptions can be of practical interest.
One of the ways to rank algorithms on performance changes in terms of input size is using asymptotic notation Big O. It is a method of describing the behavior of limits. To define the Computational Complexity you need to first define The Function T(n).