1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Algorithm complexity analysis

  1. Jun 9, 2010 #1
    I'm trying to teach myself some algorithm complexity and I've run into a problem. I'm starting to understand about O and o notation and big theta notation. I've run into notations like O(n^2 M(n)). Does this mean that the complexity is n^2 times whatever M(n) means? (Natural next question) what does M(n) mean?
     
  2. jcsd
  3. Jun 9, 2010 #2
    Let f(n) and g(n) be two functions (since you mentioned algorithms I assume f(n) and g(n) are only positive, e.g. f(n) and g(n) stand for run times). Let's say we have the relationship f=O(g(n)). This means there are constants c and n0 such that:

    [tex]f(n) \leq c \cdot g(n)[/tex] for all [tex]n \geq n_0[/tex]

    Example:
    f(n)=5*n
    g(n)=n

    We have to show that there are constants c and n0 such that:

    [tex]5 n \leq c \cdot n[/tex] for all [tex]n \geq n_0[/tex]

    This is the case for c=5 and n0=1. Thus,
    f(n)=O(g(n)) or
    5*n=O(n)

    It shouldn't be a problem to translate this to your complexitiy O(n^2 M(n)) where M(n) seems to be some function.
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook