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
For a queue a physical analogy is a line at booking counter. At booking counter, customers go to the rear (end) of the line & customers are attended to several services from the fr

(1)  (i) Add the special form let to the metacircular interpreter Hint: remember let is just syntactic sugar for a lambda expression and so a rewrite to the lambda form is all t

It is a naturally occurring sorting method exemplified through a card player arranging the cards dealt to him. He picks up the cards like they are dealt & added them into the neede

Instructions : You have to design a doubly linked list container. The necessary classes and their declarations are given below The main() function for testing the yo

implement multiple stacks in a single dimensional array. write algorithm for various stack operation for them

How to create multiple queue on single array?

Explain the halting problem Given a computer program and an input to it, verify whether the program will halt on that input or continue working indefinitely on it.

Q. Perform implementation of a queue using a singly linked list L. The operations INSER and DELETE should take O (1) time.

Algorithm for determining strongly connected components of a Graph: Strongly Connected Components (G) where d[u] = discovery time of the vertex u throughout DFS , f[u] = f

Q. Explain Dijkstra's algorithm for finding the shortest path in the graph given to us.  Ans: The Dijkstra's algorithm: This is a problem which is concerned with finding