Bàsicament una taula hash és una taula de claus que es distribueixen 
uniformement.

Per exemple, imaginem que volem ordenar clients i els posem en una taula 
alfabètica.

El problema amb aquesta orientació és que la lletra A tindra 100 entrades 
mentre que la K en tindrà 3 o 4, és a dir, la probabilitat de que una empresa 
tingui un nom que comence per A,B,E és molt més alta que no pas la 
probabilitat que comenci per J,K o X.

Per tant, si volem recuperar un registre de la lletra A trigarem molt més que 
no pas si el recuperem de la lletra K.

Si el nostre procés és senzill, potser no ens interessa solucionar això amb 
mètodes gaire complexos d'ordenació (com els arbres B, B+,...).

Una solució senzilla pot ser passar la clau per una funció que ens doni un 
nombre de distribució més o menys uniforme, i despres ordenar precisament per 
aquest nombre, en comptes de per la clau.

Per exemple, imagina que el que fem és sumar el valor numèric de les lletres 
del nom (A=1,B=2,...) i despres quedarnos amb la resta de dividir-ho per 20.

D'aquesta manera, petites variacions en el nom provoquen grans variacions en 
la distribució: ARA, S.L. està molt lluny de ARAL,S.L.

I llavors, dins la taula queden tots els registres distribuïts més o menys 
uniformement, i cada fila del nostre exemple té unes 30 entrades i no 100 a 
3.

Hi ha casos en que aquesta mena de taules esdevenen força més necessàries que 
en l'exemple de l'ordenació alfabètica.

Eduard




A 20080221, Ermengol Bota va escriure:
> El 21/02/08, roine <[EMAIL PROTECTED]> ha escrit:
> > Em sembla que ja ho he trobat a la wikipedia. Estava buscant "hashes" i
> > perdia el temps, perque havia de buscar-ho en singular "hash".
> >
> > Per si algu li interessa, aqui esta:
> > http://es.wikipedia.org/wiki/Hash
> >
> > De totes formes, si algu en sap quelcom mes, que m'ho digui.
>
> L'entrada de la wikipedia és força completa... si concretes una mica
> més potser et podem ajudar... diria que per aquí n'hi ha uns quants
> que les hem estudiat a la carrera.
>
>
> * Ermengol *
>
> _______________________________________________
> llista de correu de l'Internauta
> [EMAIL PROTECTED]
> http://zeus.internauta.net/mailman/listinfo/internauta

_______________________________________________
llista de correu de l'Internauta
[EMAIL PROTECTED]
http://zeus.internauta.net/mailman/listinfo/internauta

Respondre per correu electrònic a