title: Could anyone explain Big O versus Big Omega vs Big Theta?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/10376740/big-theta-notation-what-exactly-does-big-theta-represent">Big Theta Notation - what exactly does big Theta represent?</a>  </p>
  </blockquote>
  
  
  
  <p>I understand it in theory, I guess, but what I'm having trouble grasping is the application of the three.</p>
  
  <p>In school, we always used Big O to denote the complexity of an algorithm. Bubble sort was O(n^2) for example.</p>
  
  <p>Now after reading some more theory I get that Big Oh is not the only measure, there's at least two other interesting ones.</p>
  
  <p>But here's my question:</p>
  
  <p>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?</p>
  
  <p>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.</p>