BASIC DIFFERENCES BETWEEN SPACE COMPLEXITY AND TIME COMPLEXITY
The space complexity of an algorithm is the amount of memory it requires to run to completion.
the space needed by a program contains the following components:
1) Instruction space:
-stores the executable version of programs and is generally fixed.
2) Data space:
a) Space required by constants and simple variables.Its space is fixed.
b) Space needed by fixed size stucture variables such as array and structures.
c) dynamically allocated space.This space is usually variable.
3) enviorntal stack:
-Needed to stores information required to reinvoke suspended processes or functions.
the following data is saved on the stack
- return address.
-value of all local variables
-value of all formal parameters in the function..
The time complexity of an algorithm is the amount of time it needs to run to completion. namely space
To measure the time complexity we can count all operations performed in an algorithm and if we know the time taken for each operation then we can easily compute the total time taken by the algorithm.This time varies from system to system.
Our intention is to estimate execution time of an algorithm irrespective of the computer on which it will be used. Hence identify the key operation and count such operation performed till the program completes its execution.
The time complexity can be expressd as a function of a key operation performed.
The space and time complexity is usually expressed in the form of function f(n),where n is the input size for a given instance of a problem being solved.
f(n) helps us to predict the rate of growthof complexity that will increase as size of input to the problem increases.
f(1) also helps us to predict complexity of two or more algorithms in order ro find which is more efficient.