What is the proper way to convey an algorithm complexity in Big-O notation in speech?

Dose "the total number of operations is big oh of N log N" sounds strange?

What's generally accepted:

"It have "order log n" space complexity"?

"It is guaranteed to run in n log n time"?

  • 1
    "Ow", as in: my head hurts... – sdg Apr 20 '11 at 12:41
  • Big-"oh" <garbage> – Chani Oct 8 '11 at 9:23
  • 1
    The proper way to say anything is so that your audience understands it – jk. Apr 27 at 9:32
up vote 21 down vote accepted

Personally I would just say "this algorithm is n log n". Anyone who is going to understand what that means will understand it from that phrasing; anyone who isn't, won't be helped by anything more verbose.

  • 5
    Doesn't work very well for O(n). What would you say? "This algorithm is n." – John Wu Feb 23 '17 at 21:50

Just as f(n) is pronounced "f of n" and y(x) is "y of x", so O(n^2) is pronounced "o of n squared" or sometimes "big o of n squared."

  • 1
    This is how I've heard it used throughout my career. "O of n" etc – Scott Fister May 8 '17 at 2:58
  • 1
    This is the correct answer. – Miguel Mota Nov 5 '17 at 17:04

I say "order n" (or n squared etc).

If you are among computer scientists you may need to specify "big-O" or "omega" etc, as they are different, but most programmers simply refer to "order" meaning big-O. See here for more gory details: http://en.wikipedia.org/wiki/Big_O_notation

  • 1
    I don't have the rep to answer, but the wikipedia page has a section with a table containing names for common orders of functions, so there is constant, logarithmic, linear, quadratic, exponential, etc. – mbomb007 Dec 7 '17 at 15:49

If you are speaking in a formal setting, such as making a presentation, it's good to say "This algorithm runs in time big-oh n log n".

If you are talking casually with another engineer (who also understands these concepts), you can be less formal and say "this runs in n log n time" or "this runs in order n log n time" or "this algorithm is n log n".

Every time i need to talk about Big O notation, lets say "Oh this algorithm Big O complexity is X", i try to explain it like that an algorithm complexity is at most X (where X could be n , n^a , a^n , log n, etc.), so the algorithm will behave in the worst case like the function X.

In most cases there is no need to specify Big O but there are 2 more methods to calculate complexity. One tries to look for a minimun bound, so the explanation now is "The algorithm behaves in the best case like X" , and finally there is a way to use stadistics to try to determine how does your algorithm work in most cases.

I usually just say 'oh', as in:

Bubble sort is oh n squared

or:

Binary searches are oh log n

The worst-case algorithmic complexity is order N log N.

  • If you find yourself speaking about the relative performance in time and space of several different sorting algorithms, your audience is going to get a little tired of the phrase ...worst-case algorithmic complexity is order.... Avoiding repetition of long phrases like that is the reason we come up with shorter notations in the first place. It's much easier to say "merge sort is O of n log n in time but O of n in space, while bubble sort is O of n squared in time but O of one in space" that it would be to express the same idea with every O spelled out as "worst-case algorithmic complexity." – Caleb Oct 23 '17 at 20:01

protected by gnat Feb 23 '17 at 11:02

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.