next up previous contents
Next: Conjuntos matemáticos Up: Otros tipos de datos Previous: Arrays

Tablas hash

Las tablas hash se incorporaron en la versión 15.2 de LE-LISP. Permiten procesar pares formados por una clave y un valor de una manera más eficiente que las listas de asociación. En las tablas hash el tiempo de búsqueda no es función del número de elementos contenidos en la tabla, sino de una constante que depende únicamente del estado de la tabla hash.

Las tablas hash son adaptativas, ya que minimizan la constante del tiempo de búsqueda y al mismo tiempo optimizan el uso del espacio de memoria reservado para el almacenamiento de las asociaciones clave/valor.

El valor de una tabla hash es la tabla hash en sí misma, por lo que no es necesario utilizar la quote con ellas.

Hay dos clases de tablas hash, diferenciándose en si la función de búsqueda de claves utiliza el predicado equal o el predicado eq. Las primeras se crean con make-hash-table-equal y las segundas con make-hash-table-eq.

Las siguientes funciones operan sobre tablas hash:

En la implementación descrita en esta tesina, se utilizan tablas hash para almacenar la correspondecia entre el texto y los tokens resultantes del análisis de la entrada.



Miguel A. Alonso Pardo
Thu Nov 20 15:31:06 CET 1997