divided by thus we would like to use as our secondary hash function ( ( / )% howeverthis has yet another problemit might give zero at some pointand we obviously cannot test 'every zeroth locationan easy solution is to simply make the secondary hash function one if the above would evaluate to zerothat is( / )% if ( / )% ( otherwise the values of this for our example set of keys are given in the following tablecode ( phl ory gcm hkg gla akl fra lax dca bhx we can then proceed from the situation we were in when the first collision occurredphl gcm ory with hkg the next key to insertwhich gives collision with phl since (hkg we now try every third location to the left in order to find free slothkg phl gcm ory note that this did not create block when we now try to insert glawe once again find its primary location blocked by ory since (gla we now try every ninth location counting to the left from orythat gets us (starting again from the back when we reach the first slotto the last location overallhkg phl gcm ory gla note that we still have not got any blockswhich is good further note that most keys which share the same primary location with ory and gla will follow different route when trying to find an empty slotthus avoiding primary clustering here is the result when filling the table with the remaining keys givenhkg dca phl fra gcm akl ory lax gla our example is too small to show convincingly that this method also avoids secondary clusteringbut in general it does it is clear that the trivial secondary hash function ( reduces this approach to that of linear probing it is also worth noting thatin both casesproceeding to secondary positions to the left is merely convention it could equally well be to the right but obviously it has to be made clear which direction has been chosen for particular hash table search complexity the efficiency of double hashing is even more difficult to compute than that of linear probingand therefore we shall just give the results without derivation with load factor la successful search requires ( /lln( /( )comparisons on averageand an unsuccessful one requires /( lnote that it is the natural logarithm (to base that occurs hererather than the usual logarithm to base thusthe hash table time complexity for search is again constanti (