Data Structures and Algorithms with Object-Oriented Design Patterns in Ruby
next up previous index

More Notation-Theta and Little Oh

This section presents two less commonly used forms of asymptotic notation. They are:

Definition (Theta)     Consider a function f(n) which is non-negative for all integers tex2html_wrap_inline57705. We say that ``f(n) is theta g(n),'' which we write tex2html_wrap_inline58773, if and only if f(n) is O(g(n)) and f(n) is tex2html_wrap_inline58751.

Recall that we showed in Section gif that a polynomial in n, say tex2html_wrap_inline58203, is tex2html_wrap_inline58025. We also showed in Section gif that a such a polynomial is tex2html_wrap_inline58789. Therefore, according to Definition gif, we will write tex2html_wrap_inline58791.

Definition (Little Oh)     Consider a function f(n) which is non-negative for all integers tex2html_wrap_inline57705. We say that ``f(n) is little oh g(n),'' which we write f(n)=o(g(n)), if and only if f(n) is O(g(n)) but f(n) is not tex2html_wrap_inline58759.

Little oh notation represents a kind of loose asymptotic bound  in the sense that if we are given that f(n)=o(g(n)), then we know that g(n) is an asymptotic upper bound since f(n)=O(g(n)), but g(n) is not an asymptotic lower bound since f(n)=O(g(n)) and tex2html_wrap_inline58823 implies that tex2html_wrap_inline58825.gif

For example, consider the function f(n)=n+1. Clearly, tex2html_wrap_inline57737. Clearly too, tex2html_wrap_inline58831, since not matter what c we choose, for large enough n, tex2html_wrap_inline58837. Thus, we may write tex2html_wrap_inline58839.


next up previous index

Bruno Copyright © 2004 by Bruno R. Preiss, P.Eng. All rights reserved.