No, il numero massimo di collisioni è il numero di elementi hash da inserire nell'hash.
Dal link wikipedia su Presupposto di hashing uniforme semplice :
Moreover, each item to be hashed has an equal probability of being placed into a slot, regardless of the other elements already placed.
La parola chiave è "probabilità" - è possibile che tutti abbiano l'hash nello stesso punto, e quindi la collisione massima è la dimensione. È anche possibile che eseguano l'hash in modo uniforme, nel qual caso sarebbe il limite massimo del fattore di carico.
Particolarmente rilevante per questo è:
Collision chain length Under the assumption of uniform hashing, the
load factor A and the average chain length of a hash table of size m
with n elements will be A = n/m
Dove n
è il numero di elementi e m
è la dimensione dell'hash. La frase chiave è di nuovo la lunghezza media della catena, non la lunghezza massima della catena.
Continuando a leggere l'articolo, si noteranno frasi come "in media" usate regolarmente - si tratta della probabilità di un hash uniforme - non la garanzia di tale.
Un esempio di tale algoritmo di hash sarebbe mod hashSize
su interi. Se la dimensione dell'hash era 5%, ilhash(x) = x % 5
sarebbe un hash che si adatta a questo requisito - che ogni hash del valore ha la stessa probabilità di essere inserito in un determinato spazio.
Tuttavia, se uno di questi hash in questa hash di dimensione 5 i numeri: 5, 10, 15, 20, 25, 30
uno avrebbe quindi tutto hash nella stessa posizione.