Lecture 7
Learning objectives
 After this class, you should be able to:
-  Define the big-O, big-Omega, and big-Theta notations.
 -  Given an algorithm, derive its asymptotic time complexity, and express it using the big-O notation.
 -  Prove simple properties of the big-o notation, such as those given in section 2.3.
 -  Given functions 
f and g, prove or disprove that f = O(g). You should be able to do the proofs by directly using the definition, and also by using properties of big-O.
 
Reading assignment
-  Read the note on complexity in www.cs.fsu.edu/~asriniva/courses/DS04/lectures/Lec6/complexity.html
 -  Section 2.2 - 2.7.
 -  Class notes.
 
Exercises and review questions
- Exercises and review questions on current lecture's material
-  Prove, using induction, that 
2n2 + 3n + 1 <4n2, n > 2.
 -  Prove that 
hi-lo+1 decreases by a factor of at least 2 in each iteration of the binary search algorithm presented in class.
 -  Chapter 2, exercise 2 a, d, and e.
 -  Chapter 2, exercise 3f.
 -  Chapter 2, exercise 4a.
 -  Prove that 
n3 + n is O(n3) directly from the definition of big-O. Show constants c and N that satisfy the definition.
 -  Prove that 
n3 + n is O(n3) using properties of big-O. 
 -  Prove that 
n - 1 is big-Omega(n), directly from the definition of big-Omega.
 -  Prove that 
n - 1 is big-Theta(n), directly from the definition of big-Theta.
 
 - Questions on next lecture's material
-  None.
 
 
Last modified: 14 Sep 2004