2014-10-01 14 views

risposta

128

ho intenzione di assumere tutti i lettori di questo problema di aver letto entrambe:

La prima cosa da notare è che hash randomizzazione è deciso interprete di start-up.

L'hash di ogni lettera sarà uguale per entrambi i set, quindi l'unica cosa che può avere importanza è se c'è una collisione (in cui l'ordine sarà interessato).


Con le deduzioni di tale secondo collegamento sappiamo che la matrice di supporto per questi insiemi inizia lunghezza 8:

_ _ _ _ _ _ _ _ 

Nel primo caso, inseriamo 1:

_ 1 _ _ _ _ _ _ 

e quindi inserire il resto:

α 1 ? ? ? ? ? ? 

Poi è rehashed alle dimensioni 32:

1 can't collide with α as α is an even hash 
    ↓ so 1 is inserted at slot 1 first 
? 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 

Nel secondo caso, inseriamo il resto:

? β ? ? ? ? ? ? 

E quindi provare ad inserire 1:

Try to insert 1 here, but will 
    ↓ be rehashed if β exists 
? β ? ? ? ? ? ? 

E poi verrà rielaborato:

Try to insert 1 here, but will 
    be rehashed if β exists and has 
    ↓ not rehashed somewhere else 
? β ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 

Quindi, se gli ordini di iterazione sono diversi dipende esclusivamente dal fatto che β esista.


La possibilità di un β è la probabilità che una qualsiasi delle 5 lettere saranno hash per 1 modulo 8 e hash per 1 modulo 32.

Da tutto ciò che gli hash per 1 modulo 32 hash anche per 1 modulo 8, vogliamo trovare la probabilità che dei 32 slot, uno dei cinque è nello slot 1:

5 (number of letters)/32 (number of slots) 

5/32 è 0,15625, quindi c'è un 15.Il 625% di probabilit๠degli ordini è diverso tra le due costruzioni.


Non molto stranamente, questo è esattamente ciò che ha misurato Zero Pireo.


¹Technically anche questo non è evidente. Possiamo fingere ognuno dei 5 hash in modo univoco a causa del rehashing, ma a causa del sondaggio lineare è in realtà più probabile che si verifichino strutture "raggruppate" ... ma poiché stiamo controllando solo se un singolo slot è occupato, questo non funziona in realtà ci influenzano

Problemi correlati