PDA

View Full Version : [C]Chi mi consiglia una funzione hash?


Tubo Catodico
03-12-2008, 11:53
Ho necessità di costruire una tabella hash. Devo calcolare una funzione hash di un gruppo di valori che indicativamente vanno tra 0 e 30 ma per molti elementi, tipo 181440!!
Mi servirebbe quindi una funzione hash che distribuisca per quanto possibile i 181440 elementi in un vettore lungo 30.

Ogni idea è ben accetta, grazie! ;)

cionci
03-12-2008, 11:56
MA che roba sono questi valori ? Interi ? Stringhe ?

Tubo Catodico
03-12-2008, 13:44
Un vettore di 8 interi su cui calcolo una funzione che mi restituisce un' int, quindi l'hash lo calcolo sull'int di ritorno.

^TiGeRShArK^
03-12-2008, 14:57
num % 31 non va bene?:mbe:

Tubo Catodico
03-12-2008, 15:14
Il problema è che non posso conoscere a priori il valore intero restituito dalla funzione che dicevo, in larga parte stà tra 0 e 30 ma potrebbe assumere anche valori molto grandi. Per questo chiedevo se c'erano altre funzioni hash che garantissero una distribuzione più uniforme possibile...
Non sò se sono riuscito a spiegarmi.

^TiGeRShArK^
03-12-2008, 15:21
se non ci dici di + sulla distribuzione degli interi mi pare difficile aiutarti..
il resto della divisione intera per numeri uniformemente distribuiti è l'ideale.

Tubo Catodico
03-12-2008, 16:44
Sai cosa, faccio prima a fare una prova con il semplice % che a spiegarmi....:D

Grazie per la pazienza, a buon rendere ;)