6

When dealing with Landau notation, $\Theta, O,\Omega,o,\omega$, why do some texts choose the Corman style definitions, i.e.:

$$o(g(n))=\{ f(n): \forall c>0:\exists n_0>0:\; 0\leq f(n) < cg(n): \; \forall n\geq n_0 \}$$

and some texts use limit based definitions such as:

$$\lim_{n\to\infty}\frac{f(n)}{g(n)}=0\Rightarrow f(n)\in o(g(n))$$

Is there any inherent advantage to one definition or the other? Or is it more a matter of the author's personal preference?

Raphael
  • 73,212
  • 30
  • 182
  • 400
Robert S. Barnes
  • 2,941
  • 5
  • 25
  • 24

2 Answers2

7

To expand on Raphael's answer, both definitions are equivalent. The second definition is Landau-style (i.e. number theory style), while the first definition is computer science style.

The Landau-style definition is clearly more succinct and I personally prefer it. There are two reasons to state the definition in the computer science style:

  1. Textbook writers don't want to assume that their readers know calculus.
  2. The Landau-style definition for $f = \Theta(g)$ is more awkward: $\lim\inf f/g > 0$, $\lim\sup f/g < \infty$.
Yuval Filmus
  • 280,205
  • 27
  • 317
  • 514
6

The second definition is often handy when comparing functions w.r.t asymptotic growth since evaluating one limit is (usually) easier than showing something for all $c$.

Raphael
  • 73,212
  • 30
  • 182
  • 400