Successfully reported this slideshow.
Upcoming SlideShare
×

# Computational Complexity

817 views

Published on

Published in: Technology
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

### Computational Complexity

1. 1. Computational ComplexityKasun Ranga Wijeweera(Email: krw19870829@gmail.com)
2. 2. Background• The running time of a program is proportional to someconstant multiplied by one of these terms plus some smallertermsLeading Term + Smaller Terms (Negligible for larger N)
3. 3. Examples• N3 + 5 * N2 – 3 * N + 7N3 is the leading term• N = 1083 * N2 and 2 * N3Constant coefficients can be ignored
4. 4. Computational Complexity• Here the worst case performance of algorithms is studied• Constant factors are ignored• Determine the functional dependence of the running time
5. 5. Definition of Big-Oh Notation• A function g(N) is said to O(f(N)) if there exists constants c0and N0 such that g(N) is less than c0 * f (N) for all N > N0
6. 6. Examples• 7 * N - 27 *N – 2 is O (N)Take c0 = 7, N0 = 1• 3 * N3 + 20 * N2 + 53 * N3 + 20 * N2 + 5 is O (N3)Take c0 = 4, N0 = 21• 3 * log N + 53 * log N +5 is O (log N)Take c0 = 11, N0 = 2
7. 7. Problem• 7 * N – 2 < N2Take c0 = 7, N0 = 1?
8. 8. Growth Rate• Functions in order of increasing growth rate is as follows 1 log N N N log N N2 N3 2N
9. 9. Examples of Algorithm Running Times• Min element of an array: O (N)• Closest points in the plane,i.e. smallest distance pairs: N (N - 1)/2  O (N2)
10. 10. Comparing Algorithms Experimentally• Implement each algorithm– Lots of work– Error prone• Run it with sample data• Count the time– Same hardware and software are used
11. 11. A Sample C Programvoid main (){clrscr ();clock_t start, end;start = clock ();delay (1000);end = clock();cout << “Time = ” << (end - start);getch();}
12. 12. Required Header Files# include <conio.h># include <fstream.h># include <dos.h># include <time.h>
13. 13. Reference
14. 14. Any Questions?
15. 15. Thank You!