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
A significant aspect of Abstract Data Types is that they explain the properties of a data structure without specifying the details of its implementation. The properties might be im

How to create multiple queue on single array?

Explain divide and conquer algorithms  Divide  and  conquer  is  probably  the  best  known  general  algorithm  design  method.  It   work according to the following general p

Define Big Omega notation Big Omega notation (?) : The lower bound for the function 'f' is given by the big omega notation (?). Considering 'g' to be a function from the non-n


Q. State the difference between a grounded header link list and a circular header link list?     Ans: A header linked list is a linked list which all the time c

A linear list of elements in which deletion can be done from one end (front) and insertion can take place only at the other end (rear) is called as a   Queue.

Searching is the procedure of looking for something. Searching a list containing 100000 elements is not the similar as searching a list containing 10 elements. We discussed two sea

This question is based on the requirements of a system to record band bookings at gigs. (A 'gig' is an event at which one or more bands are booked to play). You do not need to know

Postorder traversal of a binary tree struct NODE { struct NODE *left; int value;     /* can take any data type */ struct NODE *right; }; postorder(struct NODE