Use of asymptotic notation in the study of algorithm, Data Structure & Algorithms

Q. What is the need of using asymptotic notation in the study of algorithm? Describe the commonly used asymptotic notations and also give their significance.                                        

Ans:

The running time of the algorithm depends upon the number of characteristics and slight variation in the characteristics varies and affects the running time. The algorithm performance in comparison to alternate algorithm is best described by the order of growth of the running time of the algorithm. Let one algorithm for a problem has time complexity of c3n2 and another algorithm has c1n3 +c2n2 then it can be simply observed that the algorithm with complexity c3n2 will be faster compared to the one with complexity c1n3 +c2n2 for sufficiently larger values of n. Whatever be the value of c1, c2   and c3 there will be an 'n' past which the algorithm with the complexity c3n2 is quite faster than algorithm with complexity c1n3 +c2n2, we refer this n as the breakeven point. It is difficult to determine the correct breakeven point analytically, so asymptotic notation is introduced that describe the algorithm performance in a meaningful and impressive way. These notations describe the behaviour of time or space complexity for large characteristics. Some commonly used asymptotic notations are as follows:

1)      Big oh notation (O): The upper bound for a function 'f' is given by the big oh notation (O). Taking into consideration that 'g' is a function from the non-negative integers to the positive real numbers, we define O(g) as the set of function f such that for a number of real constant c>0 and some of the non negative integers constant n0  , f(n)≤cg(n) for all n≥n0. Mathematically, O(g(n))={f(n): hear exists positive constants such that 0≤f f(n)≤cg(n) for all n, n≥n0} , we say "f is oh of g".

2)      Big Omega notation (O): The lower bound for a function 'f' is given by the big omega notation (O). Considering 'g' is the function from the non-negative integers to the positive real numbers, hear we define O(g) as the set of function f  such that  for a number of real constant c>0 and a number of non negative integers constant n0  , f(n)≥cg(n) for all n≥n0. Mathematically, O(g(n))={f(n): here exists positive constants such that 0≤cg(n) ≤f(n) for all n, n≥n0}.

3)      Big Theta notation (θ):  The upper and lower bound for the function 'f' is given by the big oh notation (θ). Taking 'g' to be the function from the non-negative integers to the positive real numbers, here we define θ(g) as the set of function f  such that  for a number of real constant c1 and c2 >0 and a number of non negative integers constant n0  , c1g(n)≤f f(n)≤c2g(n) for all n≥n0. Mathematically, θ(g(n))={f(n): here exists positive constants c1 and c2 such that c1g(n)≤f f(n)≤c2g(n) for all n, n≥n0} , hence we say "f is oh of g"

Posted Date: 7/10/2012 6:17:26 AM | Location : United States







Related Discussions:- Use of asymptotic notation in the study of algorithm, Assignment Help, Ask Question on Use of asymptotic notation in the study of algorithm, Get Answer, Expert's Help, Use of asymptotic notation in the study of algorithm Discussions

Write discussion on Use of asymptotic notation in the study of algorithm
Your posts are moderated
Related Questions
merge sort process for an example array {38, 27, 43, 3, 9, 82, 10}. If we take a closer look at the diagram, we can see that the array is recursively divided in two halves till the

how multiple stacks can be implemented using one dimensional array

Explain Floyd's algorithm It is convenient to record the lengths of shortest paths in an n by n matrix D known as the  distance matrix: the element d ij   in the i th   row an

Example which cause problems for some hidden-surface algorithms Some special cases, which cause problems for some hidden-surface algorithms, are penetrating faces and cyclic ov

Q. Using array to execute the queue structure, write down an algorithm/program to (i) Insert an element in the queue. (ii) Delete an element from the queue.

This unit dealt along with the methods of physically storing data in the files. The terms fields, records & files were described. The organization types were introduced. The sev

Program: Program segment for insertion of an element into the queue add(int value) { struct queue *new; new = (struct queue*)malloc(sizeof(queue)); new->value = val

Abstract Data Types :- A useful tool for specifying the logical properties of a data type is the abstract data type or ADT. The term "abstract data type" refers to the basic mathem

what is far and near procedures in system programming?