title: Polynomial time and exponential time
body: <p>Could someone explain the difference between polynomial-time, non-polynomial-time, and exponential-time algorithms?</p>
  
  <p>For example, if an algorithm takes O(n^2) time, then which category is it in?</p>