title: Big-O What are the constants k and n0 in the formal definition of the order of an algorithm?
body: <p>In my textbook I see the following:</p>
  <blockquote>
  <p><strong>Definition of the order of an algorithm</strong></p>
  <p>Algorithm A is order f(n) -- denoted O(f(n)) -- if constants k and n<sub>0</sub> exist such that A requires no more than k * f(n) time units to solve a problem of size n &gt;= n<sub>0</sub>.</p>
  </blockquote>
  <hr />
  <p><strong>I understand:</strong> Time requirements for different complexity classes grow at different rates. For instance, with increasing values of n, the time required for O(n) grows much more slowly than O(n<sup>2</sup>), which grows more slowly than O(n<sup>3</sup>), and so forth.</p>
  <p><strong>I do not understand:</strong> How k and n<sub>0</sub> fit into this definition.</p>
  <ol>
  <li><p>What is n<sub>0</sub>? Specifically, why does n have subscript 0, what does this subscript mean?</p>
  </li>
  <li><p>With question 1 answered, what does a 'a problem of size n &gt;= n<sub>0</sub>' mean? A larger data set? More loop repetitions? A growing problem size?</p>
  </li>
  <li><p>What is k then? Why is k being multiplied by f(n)? What does k have to do with increasing the problem size - n?</p>
  </li>
  </ol>
  <p><strong>I've already looked at:</strong></p>
  <ol>
  <li><p><a href="https://stackoverflow.com/q/2754718/1806459">Big Oh Notation - formal definition</a></p>
  </li>
  <li><p><a href="https://stackoverflow.com/q/25657108/1806459">Constants in the formal definition of Big O</a></p>
  </li>
  <li><p><a href="https://stackoverflow.com/q/1369366/1806459">What is an easy way for finding C and N when proving the Big-Oh of an Algorithm?</a></p>
  </li>
  <li><p><a href="https://stackoverflow.com/q/34294314/1806459">Confused on how to find c and k for big O notation if f(x) = x^2+2x+1</a></p>
  </li>
  </ol>