Q. Explain the complexity of an algorithm? What are the worst case analysis and best case analysis explain with an example.
Ans:
The complexity of the algorithm M is the function f(n) which gives the running time or storage space requirement of the algorithm in terms of the size n of the input data. Frequently, the storage space needed by an algorithm is just a multiple of the data size n. Therefore, the term "complexity" should be referring to the running time of the algorithm.
We find the complexity function f(n) for the certain number of cases. The two cases to which one usually investigates in complexity theory are as follows:- i. The worst case:- the maximum value of f(n) for any input possible ii. The best case:- the least possible value of f(n)
For example:-
Hear if we take an example of linear search in which an integer Item is to searched or found in an array Data. The complexity if the search algorithm is given by number C of comparisons between Item and Data[k].
Worst case:-
The worst case occurs when the Item is last element in the array Data or is it not there at all. In both of these cases, we get
C(n)=n
In the average case, we presume that the Item is present is the array and is likely to be present in any position in the array. Hence the number of comparisons can be any of the numbers 1, 2, 3........n and each number occurs with probability
p = 1/n.
C(n) = 1. 1/n + 2.1/n + ... + n.1/n
= (n+1) / 2
hence the average number of comparisons needed to locate the Item in to array Data is approximately the same to half the number of elements in the Data list.