title: Under the Uniform Hashing Assumption, how close to constant (N/#) must I be to achieve uniform operations in a hash table in java?
body: <p>My task is to code a resize() method for a hash table, in order to achieve constant operations while minimizing memory usage and search or delete times in Java.  Given a hash table utilizing separate chaining, where the table is an array of linked lists, M is the total array length and N is the number of nodes across all of the linked lists.  </p>
  
  <p>My professor has said that to achieve constant time operations between 3 and 5 (like search and delete), I must try to have N/M ~ 4 at all times.  Therefore, whenever I add a Node to my hash table, I must check to see if the table must be resized.  My question is: because N/M must approximately be 4, where do I draw the line that the array length (M) should be resized?</p>