View Full Version : hash doppio - delucidazioni.....
mettiamo che ho due funzioni per l'hash:
h'(k)= k mod 17
h''(k)= kmod 11
ho ovviamente una lista di chiavi da sistemare in una tabella, e uso h'(k) mi spiegate cosa devo fare quando si verifica una collisione?propriono mi ricordo come funziona........devo usare la seconda?devo usare qualche formula particolare?
grazie
motogpdesmo16
05-06-2004, 09:42
dipende da come è strutturata la traccia del problema.
Se trovi una collisione potresti applicare il metodo della scansione lineare oppure della scansione non lineare (uso delle cosiddette funzioni di randomizzazione allo scopo di trovare un posto libero nello spazio di memoria).
Però dal fatto che hai due funzioni hash (h' e h''), penso che dovresti usare appunto h' per generare le allocazioni e h'' nel caso si verificassero delle collisioni.
spero di essere stato d'aiuto.ciao
stamani con un amico siamo riusciti a venire a capo del problema.
ormai lo dico perchè può essere utile a qualcuno, praticamente si inseriscono le chiavi k in base a h', quando si verifica una collisione applichiamo la formula h'(k) + i*(h''(k))
se anche così la posizione indicata è occupata si ripete incrementando di volta in volta i di 1.
grazie lo stesso motogp
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.