title: Why is the constant always dropped from big O analysis?
body: <p>I'm trying to understand a particular aspect of Big O analysis in the context of running programs on a PC.</p>
  
  <p>Suppose I have an algorithm that has a performance of O(n + 2). Here if n gets really large the 2 becomes insignificant. In this case it's perfectly clear the real performance is O(n).</p>
  
  <p>However, say another algorithm has an average performance of O(n<sup>2</sup> / 2). The book where I saw this example says the real performance is O(n<sup>2</sup>). I'm not sure I get why, I mean the 2 in this case seems not completely insignificant. So I was looking for a nice clear explanation from the book. The book explains it this way:</p>
  
  <blockquote>
    <p>"Consider though what the 1/2 means. The actual time to check each value
    is highly dependent on the machine instruction that the code
    translates to and then on the speed at which the CPU can execute the instructions. Therefore the 1/2 doesn't mean very much."</p>
  </blockquote>
  
  <p>And my reaction is... huh? I literally have no clue what that says or more precisely what that statement has to do with their conclusion. Can somebody spell it out for me please. </p>
  
  <p>Thanks for any help.</p>