title: Why is it common practice to double array capacity when full?
body: <p>I've noticed that it is very common (especially in interview questions and homework assignments) to implement a dynamic array; typically, I see the question phrased as something like:</p>
  
  <blockquote>
    <p>Implement an array which <strong>doubles</strong> in capacity when full</p>
  </blockquote>
  
  <p>Or something very similar.  They almost always (in my experience) use the word <strong>double</strong> explicitly, rather than a more general</p>
  
  <blockquote>
    <p>Implement an array which <strong>increases</strong> in capacity when full</p>
  </blockquote>
  
  <p>My question is, why double?  I understand why it would be a bad idea to use a constant value (thanks to <a href="https://stackoverflow.com/questions/20448031/is-doubling-the-capacity-of-a-dynamic-array-necessary">this question</a>) but it seems like it makes more sense to use a larger multiple than double; why not triple the capacity, or quadruple it, or square it?</p>
  
  <p>To be clear, I'm not asking <strong>how</strong> to double the capacity of an array, I'm asking <strong>why</strong> doubling is the convention.</p>