SlideShare une entreprise Scribd logo
1  sur  23
Hashing María Luisa Velasco Ramírez
El origen de los algoritmos de hash es la ambición de los científicos por encontrar una forma más rápida de encontrar la información: O(1) Las técnicas de búsqueda basadas en comparaciones, tal como los enfoques secuénciales no son muy eficientes en velocidad y recuperación de información.
En ese caso HASHING (también conocido como método de dispersión) es una metodología altamente eficiente para estas operaciones.  Hashing consiste en una transformación matemática de una clave k con una función h(k) que da como resultado la posición de k en una tabla (llamado también transformación key-to-address o KAT).
El verbo en inglés 'to hash' significa cortar o mezclar, analógicamente en recuperación de la información hashing significa cortar una parte de la clave y utilizarla como base de la búsqueda.  La función hash h(k) toma como entrada una clave k y produce como resultado un valor entero distribuido uniformemente en un rango determinado. Este valor se usa como índice para la búsqueda o inserción de un dato en un arreglo llamado también ' tabla de hash ' o también 'tablas dispersas'.
Por ejemplo:  Para un número 31, su transformación de clave por medio de sumas (tipo de técnica de transformación de claves) nos genera una dirección 4, por lo tanto se va a colocar el número 31 en la Posición 4.
Una importante desventaja de hashing es que el conjunto de posibles claves es siempre mayor al número de espacios disponibles. Es decir, dos o más claves pueden asignarse a la misma dirección en la tabla de hash.  Cuando dos claves se direccionan a la misma dirección o bucket se dice que hay una colisión, y a las claves se les denomina sinónimos.
Cuando hay colisiones se requiere de un proceso adicional para encontrar una posición disponible para la clave. Esto obviamente degrada la eficiencia del método, por lo que se trata de evitar al máximo esta situación.  Una función de hashing que logra evitar al 100% las colisiones es conocida como hashing perfecto.
Ahora bien, cuando se tienen dos números que generan la misma dirección se tiene una colisión. Por lo tanto se necesita solucionar la colisión, y tenemos dos tipos de direccionamiento:     1) Direccionamiento Abierto.  Este tipo de solución de colisiones consiste en colocar en la siguiente posición vacía el número que generó la colisión.
Números a insertar: 31, 41, 13:
Direccionamiento cerrado.  Este tipo de solución de colisiones no se tiene ningún problema con que se repita la misma dirección, utilizando el uso de listas.  null   0 null   1 null   2 null   3   4 45 null   5   6
Función Modulo(por división) Consiste en tomar el residuo de la clave entre el número de componentes del arreglo. Si se tiene un arreglo de N elementos y sea K la clave del dato a buscar o a almacenar. La función hash queda definida como:    H(k) = (K % N) +1  Para tener una mejor uniformidad en la distribución, N debe ser un número primo o divisible por muy pocos números. Por lo tanto dato N, si éste no es un número primo se tomará el valor primo más cercano.
Truncamiento: Ignora parte de la clave y se utiliza la parte restante directamente como índice (considerando campos no numéricos y sus códigos numéricos).  Si las claves, por ejemplo; son enteros de ocho dígitos y la tabla de transformación tiene mil posiciones, entonces el primero, segundo y quinto dígitos desde la derecha pueden formar la función de conversión. Ejemplo: 72588495 se convierte en 895. El truncamiento es un método muy rápido, pero falla para distribuir las claves de modo uniforme.
Plegamiento: La técnica de plegamiento consiste en la partición de la clave en diferentes partes y la combinación de las partes en un modo conveniente (a menudo utilizando suma o multiplicación) para obtener el índice. Ejemplo: 13000000 --> 130=130+000+0012345678 --> 657=123+456+7871140205 --> 118 --> 1118=711+402+0513602499 --> 259=136+024+9925000009 --> 259=250+000+09
Métodos de tratamiento de colisiones Ejemplo, aplicando la función módulo para determinar la dirección de  la clave: H(k) = (K % N) +1
Prueba cuadrática
Doble hash Lo que se hace es aplicar una segunda función de dispersión a la clave, y luego se prueba a distancias h2(x), 2h2(x), ...   Usar una segunda función de hash,  diferente de la primera, para determinar el incremento que usar para repartir las llaves Es muy importante la buena elección de h2(x) y, además, nunca debe ser cero. Si  se  elige la función:  h2(x) = R - (x MOD R)  con R un número primo menor que MAX_T, funcionará bien. Utilizando como segunda función hash  7-(clave%7) el ejemplo quedaría de la siguiente manera:
[object Object],[object Object]
Prueba o Exploración Lineal: La primera colisión se presenta con el número 23, la segunda colisión con el número 34 , tercera colisión con el elemento 50, cuarta con el 27 y quinta con el 14.
Doble hash La primera colisión se presenta con el 23, con la segunda función hash, le corresponde la posición 5, no hay problema por que se encuentra desocupada, la segunda colisión se presenta con el número 50, con la segunda función hash le corresponde la posición 6,  la tercera colisión sucede con el elemento 27, con la 2ª función hash le corresponde la dirección 1, la cuarta colisión sucede con el número 14, con la 2ª función le corresponde la dirección 7, que se encuentra ocupada, de esa posición debe incrementar 7 posiciones más y así sucesivamente hasta que encuentre una posición vacía. Realizar la
Ejercicio: Dado un arreglo de tamaño  13; inserta los siguientes datos:  19, 24, 15, 28, 37, 26, 52, 27, 40, 50 Indicando qué datos tienen colisión Teniendo como función hash (dato % tamañoArreglo) Manejando las colisiones por: Exploración lineal. Exploración cuadrática Doble hash. Teniendo como segunda función hash : 7-(dato%7).
Fuentes Bibliográficas Métodos de tratamiento de colisiones, consultado el 20 de febrero de 2009, disponible en:http://www.itnuevolaredo.edu.mx/maestros/sis_com/takeyas/Apuntes/Administracion_Archivos/Apuntes/Colisiones.PDF Hayet,J.B(2008)Tablas Hash, consultado el día 20 de febrero 2009Disponible en: http://www.cimat.mx/~jbhayet/CLASES/PROGRAMACIONII/clase19.pdf Capítulo 7. Tablas de Hash, consultado el día 20 de febrero de 2009, disponible en:http://profesores.elo.utfsm.cl/~tarredondo/info/datos-algoritmos/c7.pdf Algoritmos Computacionales: Introducción al análisis y diseño  Sara Baase, Allen Van Gelder.  Editorial Addison Wesley ISBN 9702601428
Hashing

Contenu connexe

Tendances (20)

Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
Dispersión y tablas hash
Dispersión y tablas hashDispersión y tablas hash
Dispersión y tablas hash
 
Quicksort
QuicksortQuicksort
Quicksort
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Hashing
HashingHashing
Hashing
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Definiciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesignerDefiniciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesigner
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenada
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Hashing
HashingHashing
Hashing
 
PPT On Sorting And Searching Concepts In Data Structure | In Programming Lang...
PPT On Sorting And Searching Concepts In Data Structure | In Programming Lang...PPT On Sorting And Searching Concepts In Data Structure | In Programming Lang...
PPT On Sorting And Searching Concepts In Data Structure | In Programming Lang...
 
Hashing
HashingHashing
Hashing
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Hashing
HashingHashing
Hashing
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 

En vedette

Algoritmo de busqueda truncamiento
Algoritmo de busqueda truncamientoAlgoritmo de busqueda truncamiento
Algoritmo de busqueda truncamientojaviervilugron
 
BúSqueda Por Hash
BúSqueda Por HashBúSqueda Por Hash
BúSqueda Por HashAngie Suarez
 
T A B L A D E D I S P E R S I O N (Hash Table)
T A B L A  D E  D I S P E R S I O N (Hash Table)T A B L A  D E  D I S P E R S I O N (Hash Table)
T A B L A D E D I S P E R S I O N (Hash Table)Angie Suarez
 
Tablas Hash (María Macías Alonso)
Tablas Hash (María Macías Alonso)Tablas Hash (María Macías Alonso)
Tablas Hash (María Macías Alonso)edi.euitio
 
Tablas Hash (Joel Díaz Pousada)
Tablas Hash (Joel Díaz Pousada)Tablas Hash (Joel Díaz Pousada)
Tablas Hash (Joel Díaz Pousada)edi.euitio
 
UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...
UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...
UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...Juan Pablo Gomez
 
Algoritmo De Hash
Algoritmo De HashAlgoritmo De Hash
Algoritmo De HashCamilo Ruiz
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptaciondnisse
 
Ejercicios funciones de hash
Ejercicios funciones de hashEjercicios funciones de hash
Ejercicios funciones de hashAmador Aparicio
 
HASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de DatosHASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de DatosAngel Feijo
 
Guía de estudio estrategias
Guía de estudio estrategias Guía de estudio estrategias
Guía de estudio estrategias Hernan Morales
 
Semana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposSemana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposepalomino2012
 
Tutorial Access
Tutorial AccessTutorial Access
Tutorial Accessmontefusco
 
Nuevas tecnologias de la educacion
Nuevas tecnologias de la educacionNuevas tecnologias de la educacion
Nuevas tecnologias de la educacionsilvi_IGNACIO
 
Yar diana interes compuesto
Yar diana interes compuestoYar diana interes compuesto
Yar diana interes compuesto2000_diana
 
Capítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaCapítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaJuan Manuel García
 

En vedette (20)

EXPOSICION HASH
EXPOSICION HASHEXPOSICION HASH
EXPOSICION HASH
 
Algoritmo de busqueda truncamiento
Algoritmo de busqueda truncamientoAlgoritmo de busqueda truncamiento
Algoritmo de busqueda truncamiento
 
Metodologias para el desarrollo de aplicaciones web
Metodologias para el desarrollo de aplicaciones webMetodologias para el desarrollo de aplicaciones web
Metodologias para el desarrollo de aplicaciones web
 
BúSqueda Por Hash
BúSqueda Por HashBúSqueda Por Hash
BúSqueda Por Hash
 
T A B L A D E D I S P E R S I O N (Hash Table)
T A B L A  D E  D I S P E R S I O N (Hash Table)T A B L A  D E  D I S P E R S I O N (Hash Table)
T A B L A D E D I S P E R S I O N (Hash Table)
 
Tablas Hash (María Macías Alonso)
Tablas Hash (María Macías Alonso)Tablas Hash (María Macías Alonso)
Tablas Hash (María Macías Alonso)
 
Tablas Hash (Joel Díaz Pousada)
Tablas Hash (Joel Díaz Pousada)Tablas Hash (Joel Díaz Pousada)
Tablas Hash (Joel Díaz Pousada)
 
UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...
UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...
UCD, UX, Métodos de evaluación de la usabilidad y la experiencia de usuario: ...
 
Algoritmo De Hash
Algoritmo De HashAlgoritmo De Hash
Algoritmo De Hash
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptacion
 
Ejercicios funciones de hash
Ejercicios funciones de hashEjercicios funciones de hash
Ejercicios funciones de hash
 
HASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de DatosHASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de Datos
 
Encriptacion hash
Encriptacion hashEncriptacion hash
Encriptacion hash
 
Guía de estudio estrategias
Guía de estudio estrategias Guía de estudio estrategias
Guía de estudio estrategias
 
Sic
SicSic
Sic
 
Semana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposSemana 16 usuarios_y_grupos
Semana 16 usuarios_y_grupos
 
Tutorial Access
Tutorial AccessTutorial Access
Tutorial Access
 
Nuevas tecnologias de la educacion
Nuevas tecnologias de la educacionNuevas tecnologias de la educacion
Nuevas tecnologias de la educacion
 
Yar diana interes compuesto
Yar diana interes compuestoYar diana interes compuesto
Yar diana interes compuesto
 
Capítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaCapítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave pública
 

Similaire à Hashing

Similaire à Hashing (20)

Hashing
HashingHashing
Hashing
 
Hash Mª del Mar LLorente- Jueves a las 16:00
Hash Mª del Mar LLorente- Jueves a las 16:00Hash Mª del Mar LLorente- Jueves a las 16:00
Hash Mª del Mar LLorente- Jueves a las 16:00
 
Unidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedaUnidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busqueda
 
Hashing
HashingHashing
Hashing
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Tablas de dispersion
Tablas de dispersionTablas de dispersion
Tablas de dispersion
 
Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.
 
hashing.ppt
hashing.ppthashing.ppt
hashing.ppt
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modular
 
Informe aritmetica modular
Informe aritmetica modularInforme aritmetica modular
Informe aritmetica modular
 
Tabla HASH
Tabla HASHTabla HASH
Tabla HASH
 
Hash
HashHash
Hash
 
15 Tablas Hash
15 Tablas Hash15 Tablas Hash
15 Tablas Hash
 
Busqueda por HASH
Busqueda por HASHBusqueda por HASH
Busqueda por HASH
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaa
 
tablahash(marialuisa)
tablahash(marialuisa)tablahash(marialuisa)
tablahash(marialuisa)
 
Hashing
HashingHashing
Hashing
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 

Plus de María Luisa Velasco (20)

Respaldando bd
Respaldando bdRespaldando bd
Respaldando bd
 
Sql
SqlSql
Sql
 
Sql
SqlSql
Sql
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Ejercicios normalización
Ejercicios normalizaciónEjercicios normalización
Ejercicios normalización
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Modulos sgbd
Modulos sgbdModulos sgbd
Modulos sgbd
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Induccion fundbd2012
Induccion fundbd2012Induccion fundbd2012
Induccion fundbd2012
 
Induccion fundbd2012
Induccion fundbd2012Induccion fundbd2012
Induccion fundbd2012
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Proyecto final de algoritmica
Proyecto final de algoritmicaProyecto final de algoritmica
Proyecto final de algoritmica
 
Ejercicios arreglos4
Ejercicios arreglos4Ejercicios arreglos4
Ejercicios arreglos4
 
Ejercicios arreglos2
Ejercicios arreglos2Ejercicios arreglos2
Ejercicios arreglos2
 
Seguridad bd
Seguridad bdSeguridad bd
Seguridad bd
 
Ejercicios3parte
Ejercicios3parteEjercicios3parte
Ejercicios3parte
 

Hashing

  • 1. Hashing María Luisa Velasco Ramírez
  • 2. El origen de los algoritmos de hash es la ambición de los científicos por encontrar una forma más rápida de encontrar la información: O(1) Las técnicas de búsqueda basadas en comparaciones, tal como los enfoques secuénciales no son muy eficientes en velocidad y recuperación de información.
  • 3. En ese caso HASHING (también conocido como método de dispersión) es una metodología altamente eficiente para estas operaciones. Hashing consiste en una transformación matemática de una clave k con una función h(k) que da como resultado la posición de k en una tabla (llamado también transformación key-to-address o KAT).
  • 4. El verbo en inglés 'to hash' significa cortar o mezclar, analógicamente en recuperación de la información hashing significa cortar una parte de la clave y utilizarla como base de la búsqueda. La función hash h(k) toma como entrada una clave k y produce como resultado un valor entero distribuido uniformemente en un rango determinado. Este valor se usa como índice para la búsqueda o inserción de un dato en un arreglo llamado también ' tabla de hash ' o también 'tablas dispersas'.
  • 5. Por ejemplo: Para un número 31, su transformación de clave por medio de sumas (tipo de técnica de transformación de claves) nos genera una dirección 4, por lo tanto se va a colocar el número 31 en la Posición 4.
  • 6. Una importante desventaja de hashing es que el conjunto de posibles claves es siempre mayor al número de espacios disponibles. Es decir, dos o más claves pueden asignarse a la misma dirección en la tabla de hash. Cuando dos claves se direccionan a la misma dirección o bucket se dice que hay una colisión, y a las claves se les denomina sinónimos.
  • 7. Cuando hay colisiones se requiere de un proceso adicional para encontrar una posición disponible para la clave. Esto obviamente degrada la eficiencia del método, por lo que se trata de evitar al máximo esta situación. Una función de hashing que logra evitar al 100% las colisiones es conocida como hashing perfecto.
  • 8.
  • 9. Ahora bien, cuando se tienen dos números que generan la misma dirección se tiene una colisión. Por lo tanto se necesita solucionar la colisión, y tenemos dos tipos de direccionamiento:    1) Direccionamiento Abierto. Este tipo de solución de colisiones consiste en colocar en la siguiente posición vacía el número que generó la colisión.
  • 10. Números a insertar: 31, 41, 13:
  • 11. Direccionamiento cerrado. Este tipo de solución de colisiones no se tiene ningún problema con que se repita la misma dirección, utilizando el uso de listas. null 0 null 1 null 2 null 3 4 45 null 5 6
  • 12. Función Modulo(por división) Consiste en tomar el residuo de la clave entre el número de componentes del arreglo. Si se tiene un arreglo de N elementos y sea K la clave del dato a buscar o a almacenar. La función hash queda definida como:   H(k) = (K % N) +1 Para tener una mejor uniformidad en la distribución, N debe ser un número primo o divisible por muy pocos números. Por lo tanto dato N, si éste no es un número primo se tomará el valor primo más cercano.
  • 13. Truncamiento: Ignora parte de la clave y se utiliza la parte restante directamente como índice (considerando campos no numéricos y sus códigos numéricos). Si las claves, por ejemplo; son enteros de ocho dígitos y la tabla de transformación tiene mil posiciones, entonces el primero, segundo y quinto dígitos desde la derecha pueden formar la función de conversión. Ejemplo: 72588495 se convierte en 895. El truncamiento es un método muy rápido, pero falla para distribuir las claves de modo uniforme.
  • 14. Plegamiento: La técnica de plegamiento consiste en la partición de la clave en diferentes partes y la combinación de las partes en un modo conveniente (a menudo utilizando suma o multiplicación) para obtener el índice. Ejemplo: 13000000 --> 130=130+000+0012345678 --> 657=123+456+7871140205 --> 118 --> 1118=711+402+0513602499 --> 259=136+024+9925000009 --> 259=250+000+09
  • 15. Métodos de tratamiento de colisiones Ejemplo, aplicando la función módulo para determinar la dirección de la clave: H(k) = (K % N) +1
  • 17. Doble hash Lo que se hace es aplicar una segunda función de dispersión a la clave, y luego se prueba a distancias h2(x), 2h2(x), ... Usar una segunda función de hash, diferente de la primera, para determinar el incremento que usar para repartir las llaves Es muy importante la buena elección de h2(x) y, además, nunca debe ser cero. Si se elige la función: h2(x) = R - (x MOD R) con R un número primo menor que MAX_T, funcionará bien. Utilizando como segunda función hash 7-(clave%7) el ejemplo quedaría de la siguiente manera:
  • 18.
  • 19. Prueba o Exploración Lineal: La primera colisión se presenta con el número 23, la segunda colisión con el número 34 , tercera colisión con el elemento 50, cuarta con el 27 y quinta con el 14.
  • 20. Doble hash La primera colisión se presenta con el 23, con la segunda función hash, le corresponde la posición 5, no hay problema por que se encuentra desocupada, la segunda colisión se presenta con el número 50, con la segunda función hash le corresponde la posición 6, la tercera colisión sucede con el elemento 27, con la 2ª función hash le corresponde la dirección 1, la cuarta colisión sucede con el número 14, con la 2ª función le corresponde la dirección 7, que se encuentra ocupada, de esa posición debe incrementar 7 posiciones más y así sucesivamente hasta que encuentre una posición vacía. Realizar la
  • 21. Ejercicio: Dado un arreglo de tamaño 13; inserta los siguientes datos: 19, 24, 15, 28, 37, 26, 52, 27, 40, 50 Indicando qué datos tienen colisión Teniendo como función hash (dato % tamañoArreglo) Manejando las colisiones por: Exploración lineal. Exploración cuadrática Doble hash. Teniendo como segunda función hash : 7-(dato%7).
  • 22. Fuentes Bibliográficas Métodos de tratamiento de colisiones, consultado el 20 de febrero de 2009, disponible en:http://www.itnuevolaredo.edu.mx/maestros/sis_com/takeyas/Apuntes/Administracion_Archivos/Apuntes/Colisiones.PDF Hayet,J.B(2008)Tablas Hash, consultado el día 20 de febrero 2009Disponible en: http://www.cimat.mx/~jbhayet/CLASES/PROGRAMACIONII/clase19.pdf Capítulo 7. Tablas de Hash, consultado el día 20 de febrero de 2009, disponible en:http://profesores.elo.utfsm.cl/~tarredondo/info/datos-algoritmos/c7.pdf Algoritmos Computacionales: Introducción al análisis y diseño Sara Baase, Allen Van Gelder. Editorial Addison Wesley ISBN 9702601428