SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Informe de Análisis de Algoritmos
“Hash Mitad al Cuadrado”
Integrantes: Carlos Delgado Carriel
Franco Guajardo Fernández
Luis Riquelme Burgos
Sebastián Morales Bustamante
Docente: Pilar Pardo
Concepción, abril 2014
Ingeniería en Informática
INDICE
Introducción....................................................................................................................... 3
1. Búsqueda Lineal....................................................................................................... 4
1.2 Ejemplo...................................................................................................................... 4
2. Búsqueda Binaria..................................................................................................... 5
2.1 Ejemplo...................................................................................................................... 5
3. Hash Truncamiento.................................................................................................. 6
3.1. Ejemplo................................................................................................................... 6
4. Hash Plegamiento .................................................................................................... 7
4.1. Ejemplo................................................................................................................... 7
5. Hash Aritmética Modular......................................................................................... 8
5.1. Ejemplo................................................................................................................... 8
6. Hash Mitad del Cuadrado ........................................................................................ 9
6.1. Factores a tomar en cuenta ................................................................................. 9
6.2. Ejemplos............................................................................................................... 10
Conclusión ....................................................................................................................... 11
Página 3
Introducción
El presente informe busca dar a conocer mas información sobre los algoritmos de
búsqueda, en donde se verán los siguientes puntos, búsqueda lineal, búsqueda
binaria, hash truncamiento, hash de plegamiento, hash de aritmética modular, y
hash mitad dl cuadrado, siendo esta última en la cual se profundizara en este
informe mostrando el método de funcionamiento que este posee atreves de sus
métodos, funcionamiento, descripción y ejemplos.
Página 4
1. Búsqueda Lineal
Se utiliza en vectores no ordenados. El dato que se requiere buscar, se va
comparando uno por uno (secuencialmente) con los contenidos en el vector hasta
encontrarlo, o en caso contrario, recorrerlo por completo.
Mejor Caso
Se encuentra cuando aparece una coincidencia en el primer elemento de la lista y
en ese caso el tiempo de ejecución es O(1).
Peor Caso
Se produce cuando el elemento no está en la lista o se encuentra al final de la
lista. Esto requiere buscar en todos los n términos, lo que implica una complejidad
de O(n).
Caso Promedio
Requiere un poco de razonamiento probabilista. Para el caso de una lista aleatoria
es probable que una coincidencia ocurra en cualquier posición.
1.2 Ejemplo
Si tenemos una estructura con los elementos 5, 8, 3, 2, 9, 5, 7, 0, 5, 1 y estamos
buscando el número 5, el resultado de la búsqueda nos mostraría las posiciones 0,
5 y 8 y el proceso terminaría al llegar al número 1 que es el último de la lista de
elementos.
Elementos 5 8 3 2 9 5 7 0 5 1
Posiciones 0 1 2 3 4 5 6 7 8 9
Posiciones donde
encontró el número 5
√ × × × × √ × × √ ×
Página 5
2. Búsqueda Binaria
Se utiliza solamente cuando el vector está ordenado. Para ello, se selecciona un
elemento cualquiera del vector, preferentemente central, y se compara con el
elemento a buscar; si el valor tomado es mayor, se continúa realizando el
procedimiento por la sección a la izquierda de éste ignorando la otra parte; si es
menor se procede con la sección a la derecha hasta encontrar el valor o, en el
peor de los casos, no encontrarlo.
Mejor Caso
Se presenta cuando una coincidencia se encuentra en el punto central de la lista.
En este caso la complejidad es O (1) dado que sólo se realiza una prueba de
comparación de igualdad.
Peor Caso
La complejidad del caso peor es O (log2 n) que se produce cuando el elemento no
está en la lista o el elemento se encuentra en la última comparación. Se puede
deducir intuitivamente esta complejidad
Caso Promedio
½ log2n comparaciones.
2.1 Ejemplo
Para buscar el elemento 3 en el array {1,2,3,4,5,6,7,8,9} se realizarían los
siguientes pasos:
Se toma el elemento central y se divide el array en dos: {1,2,3,4}−5-{6,7,8,9} Como
el elemento buscado (3) es menor que el central (5), debe estar en el primer
subarray: {1,2,3,4}
Se vuelve a dividir el array en dos:
{1}−2-{3,4} Como el elemento buscado es mayor que el central, debe estar en el
segundo subarray: {3,4} Se vuelve a dividir en dos: {}−3-{4} Como el elemento
buscado coincide con el central, lo hemos encontrado.
Página 6
3. Hash Truncamiento
La función truncamiento toma algunos de los dígitos de las claves y forma con
ellos una dirección. La elección de los dígitos es arbitraria, podrían tomarse los de
las posiciones pares o impares para con ellos generar la dirección donde se
almacenara la clave, uniendo los dígitos de izquierda a derecha o de derecha a
izquierda, su fórmula es la siguiente:
Dirección = elegir dígitos (unión dígitos)
3.1. Ejemplo
Si tenemos un total de 100 elementos y dos claves que sean 7259 y 9359, las
direcciones generadas son las siguientes:
Dirección = elegir dígitos (7, 5) = 75
Dirección = elegir dígitos (9, 5) = 95
Para este caso se tomaron los dígitos impares y se unieron de izquierda a
derecha.
Página 7
4. Hash Plegamiento
La función plegamiento divide la clave en partes de igual número de dígitos (la
última puede tener menos dígitos), tomando como dirección los dígitos menos
significativos, después de realizar una operación entre las partes, ya sea una serie
de sumas o de multiplicaciones. La fórmula sería la siguiente:
Dirección = dígitos menos significativos (suma de partes)
Dirección = dígitos menos significativos (multiplicación de partes)
4.1. Ejemplo
Si tenemos un total de 100 elementos y dos claves que sean 7259 y 9359, las
direcciones generadas son las siguientes:
Dirección = dígitos menos significativos (72 + 59) =
dígitos menos significativos (131) = 31
Dirección = dígitos menos significativos (93 + 59) =
Dígitos menos significativos (152) = 52
Como el rango de claves es de 1 a 100 se toman dos dígitos para las particiones y
para la dirección.
Página 8
5. Hash Aritmética Modular
La función módulo o por división toma el residuo de la división entre la clave y el
total de elementos de la estructura, generando la siguiente fórmula:
Dirección = (clave % total elementos)
Para lograr una mayor uniformidad en la distribución de los elementos, se debe
buscar que el valor que se usa en el total de elementos sea un número primo más
cercano al tamaño de la estructura.
5.1. Ejemplo
Si tenemos un total de 100 elementos y dos claves que sean 7259 y 9359, las
direcciones generadas son las siguientes:
Dirección = (7259%100) = 59
Dirección = (9359%100) = 59
Estos dos casos generan una colisión, ya que los dos números no se pueden
asignar dentro de la misma dirección en la estructura, para evitar la colisión, se
cambia el valor de 100 por el numero primo más cercano a él, en este caso seria
un 97, lo que generaría las siguientes direcciones:
Dirección = (7259%97) = 81
Dirección = (9359%97) = 47
Página 9
6. Hash Mitad del Cuadrado
La función cuadrada como su nombre lo indica eleva al cuadrado la clave y del
resultado, se toman los dígitos centrales como la dirección. El número de dígitos a
tomar se determina del por el rango del índice de toda la estructura. Las fórmulas
hash son las siguientes:
Dirección = dígitos centrales (clave2
)
Dirección = dígitos centrales (clave2
) +1
6.1. Factores a tomar en cuenta
1. Para mayor seguridad empezar a extraer dígitos de la mitad de la llave
elevada al cuadrado a la izquierda.
2. Extraer el mismo número de dígitos para cada llave y de las mismas
posiciones. Aquí hay que tomar en cuenta el número de registros que se
tiene en el archivo
Página 10
6.2. Ejemplos
Utilizando la formula Dirección = dígitos centrales (clave2
) +1
Sea N=100 el tamaño del arreglo y sean sus direcciones entre 1 y 100. Sean
K1=7259 y K2=9359 dos claves que deban almacenarse en el arreglo. Si se aplica
la fórmula queda:
H(K1)= (72592) + 1= (72592^2)=(52693081)+1=93 + 1= 94
Utilizando la formula Dirección = dígitos centrales (clave2
)
Se escogen el 4º y el 5º dígitos por la derecha para obtener la dirección Hash.
K: 3205 7148 2345
K2
: 10272025 51093904 5499025
Página 11
Conclusión
Se concluye hay distintos métodos de búsqueda, estos se aplican según la
problemática, esto dependerá de su tiempo de ejecución (tiempo y espacio).
En resumen no existe un algoritmo mejor que otro ya que dependerá todo del
problema que se encuentre.

Más contenido relacionado

La actualidad más candente

Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda BinariaSanTy BizZle
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoLutzo Guzmán
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeIntJerry
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserciónAlvaro Enrique Ruano
 
Búsqueda Primero el Mejor
Búsqueda Primero el MejorBúsqueda Primero el Mejor
Búsqueda Primero el MejorTutor4uDev
 

La actualidad más candente (20)

Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Mapa Conceptual
Mapa ConceptualMapa Conceptual
Mapa Conceptual
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Hashing
HashingHashing
Hashing
 
Binary search
Binary searchBinary search
Binary search
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Búsqueda Primero el Mejor
Búsqueda Primero el MejorBúsqueda Primero el Mejor
Búsqueda Primero el Mejor
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 

Similar a Hash mitad al cuadrado pdf

Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
método de búsqueda Truncamiento
método de búsqueda Truncamientométodo de búsqueda Truncamiento
método de búsqueda TruncamientoCristopher Blum
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedaGonzalo Retamal
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedapazmoralesv
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modularvvillegass
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficiosejosue23
 
Búsqueda de los algoritmos
Búsqueda de los algoritmosBúsqueda de los algoritmos
Búsqueda de los algoritmosjuanitoed
 
Búsqueda de los algoritmos
Búsqueda de los algoritmosBúsqueda de los algoritmos
Búsqueda de los algoritmosjuanitoed
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de BúsquedaPedro Avaria
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky Kobatakane
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJohnfornerod
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Internasawmuk
 

Similar a Hash mitad al cuadrado pdf (20)

Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 
método de búsqueda Truncamiento
método de búsqueda Truncamientométodo de búsqueda Truncamiento
método de búsqueda Truncamiento
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Algoritmos de búsqueda
Algoritmos de búsquedaAlgoritmos de búsqueda
Algoritmos de búsqueda
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modular
 
Informe aritmetica modular
Informe aritmetica modularInforme aritmetica modular
Informe aritmetica modular
 
Informe analisis
Informe analisisInforme analisis
Informe analisis
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficios
 
Búsqueda de los algoritmos
Búsqueda de los algoritmosBúsqueda de los algoritmos
Búsqueda de los algoritmos
 
Búsqueda de los algoritmos
Búsqueda de los algoritmosBúsqueda de los algoritmos
Búsqueda de los algoritmos
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Métodos de ordenamiento
Métodos de ordenamiento Métodos de ordenamiento
Métodos de ordenamiento
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Interna
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 

Hash mitad al cuadrado pdf

  • 1. Informe de Análisis de Algoritmos “Hash Mitad al Cuadrado” Integrantes: Carlos Delgado Carriel Franco Guajardo Fernández Luis Riquelme Burgos Sebastián Morales Bustamante Docente: Pilar Pardo Concepción, abril 2014 Ingeniería en Informática
  • 2. INDICE Introducción....................................................................................................................... 3 1. Búsqueda Lineal....................................................................................................... 4 1.2 Ejemplo...................................................................................................................... 4 2. Búsqueda Binaria..................................................................................................... 5 2.1 Ejemplo...................................................................................................................... 5 3. Hash Truncamiento.................................................................................................. 6 3.1. Ejemplo................................................................................................................... 6 4. Hash Plegamiento .................................................................................................... 7 4.1. Ejemplo................................................................................................................... 7 5. Hash Aritmética Modular......................................................................................... 8 5.1. Ejemplo................................................................................................................... 8 6. Hash Mitad del Cuadrado ........................................................................................ 9 6.1. Factores a tomar en cuenta ................................................................................. 9 6.2. Ejemplos............................................................................................................... 10 Conclusión ....................................................................................................................... 11
  • 3. Página 3 Introducción El presente informe busca dar a conocer mas información sobre los algoritmos de búsqueda, en donde se verán los siguientes puntos, búsqueda lineal, búsqueda binaria, hash truncamiento, hash de plegamiento, hash de aritmética modular, y hash mitad dl cuadrado, siendo esta última en la cual se profundizara en este informe mostrando el método de funcionamiento que este posee atreves de sus métodos, funcionamiento, descripción y ejemplos.
  • 4. Página 4 1. Búsqueda Lineal Se utiliza en vectores no ordenados. El dato que se requiere buscar, se va comparando uno por uno (secuencialmente) con los contenidos en el vector hasta encontrarlo, o en caso contrario, recorrerlo por completo. Mejor Caso Se encuentra cuando aparece una coincidencia en el primer elemento de la lista y en ese caso el tiempo de ejecución es O(1). Peor Caso Se produce cuando el elemento no está en la lista o se encuentra al final de la lista. Esto requiere buscar en todos los n términos, lo que implica una complejidad de O(n). Caso Promedio Requiere un poco de razonamiento probabilista. Para el caso de una lista aleatoria es probable que una coincidencia ocurra en cualquier posición. 1.2 Ejemplo Si tenemos una estructura con los elementos 5, 8, 3, 2, 9, 5, 7, 0, 5, 1 y estamos buscando el número 5, el resultado de la búsqueda nos mostraría las posiciones 0, 5 y 8 y el proceso terminaría al llegar al número 1 que es el último de la lista de elementos. Elementos 5 8 3 2 9 5 7 0 5 1 Posiciones 0 1 2 3 4 5 6 7 8 9 Posiciones donde encontró el número 5 √ × × × × √ × × √ ×
  • 5. Página 5 2. Búsqueda Binaria Se utiliza solamente cuando el vector está ordenado. Para ello, se selecciona un elemento cualquiera del vector, preferentemente central, y se compara con el elemento a buscar; si el valor tomado es mayor, se continúa realizando el procedimiento por la sección a la izquierda de éste ignorando la otra parte; si es menor se procede con la sección a la derecha hasta encontrar el valor o, en el peor de los casos, no encontrarlo. Mejor Caso Se presenta cuando una coincidencia se encuentra en el punto central de la lista. En este caso la complejidad es O (1) dado que sólo se realiza una prueba de comparación de igualdad. Peor Caso La complejidad del caso peor es O (log2 n) que se produce cuando el elemento no está en la lista o el elemento se encuentra en la última comparación. Se puede deducir intuitivamente esta complejidad Caso Promedio ½ log2n comparaciones. 2.1 Ejemplo Para buscar el elemento 3 en el array {1,2,3,4,5,6,7,8,9} se realizarían los siguientes pasos: Se toma el elemento central y se divide el array en dos: {1,2,3,4}−5-{6,7,8,9} Como el elemento buscado (3) es menor que el central (5), debe estar en el primer subarray: {1,2,3,4} Se vuelve a dividir el array en dos: {1}−2-{3,4} Como el elemento buscado es mayor que el central, debe estar en el segundo subarray: {3,4} Se vuelve a dividir en dos: {}−3-{4} Como el elemento buscado coincide con el central, lo hemos encontrado.
  • 6. Página 6 3. Hash Truncamiento La función truncamiento toma algunos de los dígitos de las claves y forma con ellos una dirección. La elección de los dígitos es arbitraria, podrían tomarse los de las posiciones pares o impares para con ellos generar la dirección donde se almacenara la clave, uniendo los dígitos de izquierda a derecha o de derecha a izquierda, su fórmula es la siguiente: Dirección = elegir dígitos (unión dígitos) 3.1. Ejemplo Si tenemos un total de 100 elementos y dos claves que sean 7259 y 9359, las direcciones generadas son las siguientes: Dirección = elegir dígitos (7, 5) = 75 Dirección = elegir dígitos (9, 5) = 95 Para este caso se tomaron los dígitos impares y se unieron de izquierda a derecha.
  • 7. Página 7 4. Hash Plegamiento La función plegamiento divide la clave en partes de igual número de dígitos (la última puede tener menos dígitos), tomando como dirección los dígitos menos significativos, después de realizar una operación entre las partes, ya sea una serie de sumas o de multiplicaciones. La fórmula sería la siguiente: Dirección = dígitos menos significativos (suma de partes) Dirección = dígitos menos significativos (multiplicación de partes) 4.1. Ejemplo Si tenemos un total de 100 elementos y dos claves que sean 7259 y 9359, las direcciones generadas son las siguientes: Dirección = dígitos menos significativos (72 + 59) = dígitos menos significativos (131) = 31 Dirección = dígitos menos significativos (93 + 59) = Dígitos menos significativos (152) = 52 Como el rango de claves es de 1 a 100 se toman dos dígitos para las particiones y para la dirección.
  • 8. Página 8 5. Hash Aritmética Modular La función módulo o por división toma el residuo de la división entre la clave y el total de elementos de la estructura, generando la siguiente fórmula: Dirección = (clave % total elementos) Para lograr una mayor uniformidad en la distribución de los elementos, se debe buscar que el valor que se usa en el total de elementos sea un número primo más cercano al tamaño de la estructura. 5.1. Ejemplo Si tenemos un total de 100 elementos y dos claves que sean 7259 y 9359, las direcciones generadas son las siguientes: Dirección = (7259%100) = 59 Dirección = (9359%100) = 59 Estos dos casos generan una colisión, ya que los dos números no se pueden asignar dentro de la misma dirección en la estructura, para evitar la colisión, se cambia el valor de 100 por el numero primo más cercano a él, en este caso seria un 97, lo que generaría las siguientes direcciones: Dirección = (7259%97) = 81 Dirección = (9359%97) = 47
  • 9. Página 9 6. Hash Mitad del Cuadrado La función cuadrada como su nombre lo indica eleva al cuadrado la clave y del resultado, se toman los dígitos centrales como la dirección. El número de dígitos a tomar se determina del por el rango del índice de toda la estructura. Las fórmulas hash son las siguientes: Dirección = dígitos centrales (clave2 ) Dirección = dígitos centrales (clave2 ) +1 6.1. Factores a tomar en cuenta 1. Para mayor seguridad empezar a extraer dígitos de la mitad de la llave elevada al cuadrado a la izquierda. 2. Extraer el mismo número de dígitos para cada llave y de las mismas posiciones. Aquí hay que tomar en cuenta el número de registros que se tiene en el archivo
  • 10. Página 10 6.2. Ejemplos Utilizando la formula Dirección = dígitos centrales (clave2 ) +1 Sea N=100 el tamaño del arreglo y sean sus direcciones entre 1 y 100. Sean K1=7259 y K2=9359 dos claves que deban almacenarse en el arreglo. Si se aplica la fórmula queda: H(K1)= (72592) + 1= (72592^2)=(52693081)+1=93 + 1= 94 Utilizando la formula Dirección = dígitos centrales (clave2 ) Se escogen el 4º y el 5º dígitos por la derecha para obtener la dirección Hash. K: 3205 7148 2345 K2 : 10272025 51093904 5499025
  • 11. Página 11 Conclusión Se concluye hay distintos métodos de búsqueda, estos se aplican según la problemática, esto dependerá de su tiempo de ejecución (tiempo y espacio). En resumen no existe un algoritmo mejor que otro ya que dependerá todo del problema que se encuentre.