Loading web-font TeX/Math/Italic

Tuesday, 5 March 2013

Big-O notation: Care on asymptotic behaviour

Big-O notation conveys us information about how a given algorithm run time scales with respect to a given input size.  However, one has to be careful on the interpretation of this scaling (limiting) behaviour. First of all, when we talk about O(N^2), it doesn't mean that it is valid for any input size. Let's  illustrate that asymptotic behaviour shown by big-O notation could be “misleading” for “smaller” input. Let’s take number of operation T(N)=4 N^2 – 2N. T’(4) must be 4 times of T’(2) if we consider as T’(N) = N^2. But if we use T(N) instead, T(4) would be 4.666667 times of T(2).

A good example in this direction  is N-body force calculations (or here). An O(N^2) algorithm performs better compare to O(NlogN) ones up to a break-even point even 50K particles. This is a good paper explaining this;
Pringle, Gavin J. "Comparison of an O (N) and an O (N log N) N-body solver."
[pdf].
(c) Copyright 2008-2024 Mehmet Suzen (suzen at acm dot org)

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License