Optimizacion de matriz
Horst von Brand
vonbrand en inf.utfsm.cl
Sab Oct 30 00:55:46 CLST 2004
Alvaro Herrera <alvherre en dcc.uchile.cl> dijo:
> On Thu, Oct 28, 2004 at 09:54:28PM -0300, juan pablo Rumie Vittar wrote:
> > Ademas implementar una funcion de hash en C es facil y
> > Warning!!!!! libera la memoria que no uses!!!! ya que
> > esa "responsabilidad" queda de parte del
> > desarrollador!
> Con respecto al asunto del hashing, recomiendo echarle una mirada a
> esto:
>
> http://burtleburtle.net/bob/hash/doobs.html
El algoritmo de este personaje es bastante malo, en mis pruebas, y la
funcion es cara de computar. Mejor el tipico hashpwj (aunque a ese lo salva
el % final con 211).
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : hashpjw.c
Tipo : text/x-c
Tamaño : 503 bytes
Descripción: hashpjw
Url : https://listas.inf.utfsm.cl/pipermail/linux/attachments/20041030/24da3544/hashpjw.bin
------------ próxima parte ------------
O tal vez una tontera como (con un compilador astuto y arquitectura ad hoc,
esto debiera transformarse en una rotacion):
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : hvb-bits.c
Tipo : text/x-c
Tamaño : 184 bytes
Descripción: Mi propia funcion de hashing
Url : https://listas.inf.utfsm.cl/pipermail/linux/attachments/20041030/24da3544/hvb-bits.bin
------------ próxima parte ------------
En ambos casos, hace falta reducir el rango al final, p.ej. via % PRIMO
(indispensable en hashpwj, la funcion base es bastante no-uniforme!) o
via doblar-y-pegar bits: De:
|-----|-----|-----|-----|
obtener:
|-----| ^ |-----| ^ |-----| ^ |-----|
(la idea de dividir en trozos y mezclar todos los bits es no perder
informacion)
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Más información sobre la lista de distribución Linux