Possible Duplicate:
Big Theta Notation - what exactly does big Theta represent?

I understand it in theory, I guess, but what I'm having trouble grasping is the application of the three.

In school, we always used Big O to denote the complexity of an algorithm. Bubble sort was O(n^2) for example.

Now after reading some more theory I get that Big Oh is not the only measure, there's at least two other interesting ones.

But here's my question:

Big O is the upper-bound, Big Omega is the lower bound, and Big Theta is a mix of the two. But what does that mean conceptually? I understand what it means on a graph; I've seen a million examples of that. But what does it mean for algorithm complexity? How does an "upper bound" or a "lower bound" mix with that?

I guess I just don't get its application. I understand that if multiplied by some constant c that if after some value n_0 f(x) is greater than g(x), f(x) is considered O(g(x)). But what does that mean practically? Why would we be multiplying f(x) by some value c? Hell, I thought with Big O notation multiples didn't matter.

Edit
Report