the array gets more fullthe probe sequences become quite long here' the resulting array of keys* * table size prime number double hashing requires that the size of the hash table is prime number to see whyimagine situation where the table size is not prime number for examplesuppose the array size is (indices from to )and that particular key hashes to an initial index of and step size of the probe sequence will be and so onrepeating endlessly only these three cells are ever examinedso the algorithm will never find the empty cells that might be waiting at and so on the algorithm will crash and burn if the array size were which is primethe probe sequence eventually visits every cell it' and so on and on if there is even one empty cellthe probe will find it using prime number as the array size makes it impossible for any number to divide it evenlyso the probe sequence will eventually check every cell similar effect occurs using the quadratic probe in that casehoweverthe step size gets larger with each stepand will eventually overflow the variable holding itthus preventing an endless loop in generaldouble hashing is the probe sequence of choice when open addressing is used separate chaining in open addressingcollisions are resolved by looking for an open cell in the hash table different approach is to install linked list at each index in the hash table data item' key is hashed to the index in the usual wayand the item is inserted into the linked list at that index other items that hash to the same index are simply added to the linked listthere' no need to search for empty cells in the primary array figure shows how separate chaining looks figure eparate chaining separate chaining is conceptually somewhat simpler than the various probe schemes used in open addressing howeverthe code is longer because it must include the mechanism for the linked listsusually in the form of an additional class the hashchain workshop applet