An algorithm is a step-by-step procedure for performing some tasks in a finite amount of time.
Data Structure on the other hand; is a systematic way of organizing and accessing data.
Time Complexity refers to the process of deriving estimates for the time needed to execute an algorithm (function of input). It is difficult to obtain an explicit formula for this function. An algorithm’s performance is the number of basic operations required to process an input of a certain size (denoted by n). Algorithm’s performance is proportional to the run time for that algorithm often expressed as a function “n” written as T(n}.
We group Time Complexity functions according to their growth, there are three different ways to this classification: