2011-07-08 20 views
5

Non capisco perfettamente come funziona l'hashing universale. Per esempio, quando inserisco un oggetto nella mia tabella hash, devo scegliere una funzione casuale dalla mia famiglia universale di funzioni hash. Ora voglio recuperare detto oggetto. In che modo la mia tabella hash saprà quale funzione deve utilizzare per calcolare l'hash?Hash universale

+0

Quale lingua stai usando? – Gerben

+0

@Gerben: Nessuno. Questa è una domanda concettuale. – ryyst

risposta

5

Perché si utilizzerà la stessa funzione di hash per tutti gli elementi nella tabella.

+0

Si intende che la scelta (casuale) della funzione di hash viene eseguita al momento della costruzione, non su ogni operazione di inserimento? –

+1

@iuliux: corretto. Il sale, se usato, può differire (e verrà memorizzato con l'inserto), ma l'algoritmo sarà lo stesso. –

+0

Ancora non capisco come recuperare il numero che abbiamo cancellato con una funzione hash casuale. – user65165

2

Quale funzione di hash viene utilizzata è casuale solo nel senso che non sono prevedibili da un avversario ma la scelta è una funzione della chiave. C'è una bella scrittura a http://www.cs.ucsb.edu/~suri/cs130a/Hashing.txt Il metodo a matrice è più facile da capire rispetto ad altri metodi ...

+0

Qualche link più recente? È rotto ora. –