|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
[C]Chi mi consiglia una funzione hash?
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!
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
MA che roba sono questi valori ? Interi ? Stringhe ?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
Un vettore di 8 interi su cui calcolo una funzione che mi restituisce un' int, quindi l'hash lo calcolo sull'int di ritorno.
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
num % 31 non va bene?
__________________
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
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.
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
se non ci dici di + sulla distribuzione degli interi mi pare difficile aiutarti..
il resto della divisione intera per numeri uniformemente distribuiti è l'ideale.
__________________
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 782
|
Sai cosa, faccio prima a fare una prova con il semplice % che a spiegarmi....
Grazie per la pazienza, a buon rendere
__________________
HP DV6-6170sl - Play 4 - PSVITA - Oneplus One |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:04.


















