Professional Documents
Culture Documents
Campus: Aguascalientes
Cuatrimestre: Octavo
ndice
Tema: Mtodos de Bsqueda...........................................................................3
Bsqueda Secuencial........................................................................................ 3
Algoritmo Para Bsqueda Secuencial............................................................3
Mejoras en la eficiencia de la bsqueda secuencial....................................3
Bsqueda Hashing............................................................................................. 4
FUNCION HASH.................................................................................................. 4
VENTAJAS............................................................................................................ 4
DESVENTAJAS..................................................................................................... 4
ALGORITMO HASHING....................................................................................... 4
ALGORITMOS DE HASH MS COMUNES.........................................................5
FUNCIONES DE HASH........................................................................................ 5
COMPARACIN ENTRE LAS FUNCIONES HASH..............................................6
Tablas hash......................................................................................................... 6
OPERACIONES BSICAS.................................................................................... 6
INSERSION.......................................................................................................... 7
BUSQUEDA.......................................................................................................... 7
HASHING ABIERTO............................................................................................. 7
HASHING CERRADO........................................................................................... 7
Bibliografa......................................................................................................... 7
Tema: Mtodos de
Bsqueda
Bsqueda Secuencial
El mtodo de bsqueda secuencial consiste en revisar elemento tras elemento
hasta encontrar el dato buscado. La bsqueda secuencial se puede aplicar en
arreglos o en listas enlazadas.
Consiste bsicamente en recorrer el arreglo de izquierda a derecha hasta que se
encuentre el elemento buscado o se termine el arreglo, lo que ocurra primero.
Normalmente cuando una funcin de bsqueda concluye con xito, interesa
conocer en qu posicin fue hallado el elemento que se estaba buscando.
Algoritmo Para Bsqueda Secuencial
El algoritmo bsico de bsqueda secuencial consiste en empezar al inicio de la
lista e ir a travs de cada registro hasta encontrar la llave indicada (k), o hasta
al final de la lista.
La situacin ptima es que el registro buscado sea el primero en ser examinado.
El peor caso es cuando las llaves de todos los n registros son comparados con k
(lo que se busca). El caso promedio es n/2 comparaciones. Este mtodo de
bsqueda es muy lento, pero si los datos no estn en orden es el nico mtodo
que puede emplearse para hacer las bsquedas. Si los valores de la llave no son
nicos, para encontrar todos los registros con una llave particular, se requiere
buscar en toda la lista.
Mejoras en la eficiencia de la bsqueda secuencial
1)Muestreo de acceso
Este mtodo consiste en observar que tan frecuentemente se solicita
cada registro y ordenarlos de acuerdo a las probabilidades de acceso
detectadas.
3)Transposicin
4)Ordenamiento
Una forma de reducir el nmero de comparaciones esperadas cuando hay una significativa
frecuencia de bsqueda sin xito es la de ordenar los registros en base al valor de la llave.
Esta tcnica es til cuando la lista es una lista de excepciones, tales como una lista de
decisiones, en cuyo caso la mayora de las bsquedas no tendrn xito. Con este mtodo
una bsqueda sin xito termina cuando se encuentra el primer valor de la llave mayor que el
buscado, en lugar de la final de la lista
Bsqueda Hashing
Hash: se refiere a una funcin o mtodo para generar claves o llaves que
representen de manera casi unvoca a un documento, registro, archivo, etc.,
resumir o identificar un dato a travs de la probabilidad, utilizando una funcin
hash o algoritmo hash. Un hash es el resultado de dicha funcin o algoritmo.
FUNCION HASH
Es una funcin para resumir o identificar probabilsticamente un gran conjunto
de informacin, dando como resultado un conjunto imagen finito generalmente
menor. Varan en los conjuntos de partida y de llegada y en cmo afectan a la
salida similitudes o patrones de la entrada
VENTAJAS
DESVENTAJAS
El archivo no est clasificado
No permite llaves repetidas
Solo permite acceso por una sola llave
Costos
Algoritmo que se utiliza para generar un valor de hash para algn dato, como
por ejemplo claves. Un algoritmo de hash hace que los cambios que se
produzcan en los datos de entrada provoquen cambios en los bits del hash.
Gracias a esto, los hash permiten detectar si un dato ha sido modificado.
ALGORITMOS DE HASH MS COMUNES
SHA-1: algoritmo de hash seguro
Algoritmo de sntesis que genera un hash de 160 bits. Se utiliza, por ejemplo,
como algoritmo para la firma digital.
MD2 y MD4
Algoritmos de hash que generan un valor de 128 bits.
MD5
Esquema de hash de hash de 128 bits muy utilizado para autenticacin cifrada.
Gracias al MD5 se consigue, por ejemplo, que un usuario demuestre que conoce
una contrasea sin necesidad de enviar la contrasea a travs de la red.
FUNCIONES DE HASH
Residuo de la divisin
La idea de este mtodo es la de dividir el valor de la llave entre un
numero apropiado, y despus utilizar el residuo de la divisin como
direccin relativa para el registro (direccin = llave mdulo divisor).
Mientras que el valor calculado real de una direccin relativa, dados tanto
un valor de llave como el divisor, es directo; la eleccin del divisor
apropiado puede no ser tan simple. Existen varios factores que deben
considerarse para seleccionar el divisor:
El rango de valores que resultan de la operacin "llave % divisor", va
desde cero hasta el divisor 1. Luego, el divisor determina el tamao del
espacio de direcciones relativas. Si se sabe que el archivo va a contener
por lo menos n registros, entonces tendremos que hacer que divisor > n,
suponiendo que solamente un registro puede ser almacenado en una
direccin relativa dada.
El divisor deber seleccionarse de tal forma que la probabilidad de
colisin sea minimizada. Cmo escoger este nmero? Mediante
investigaciones se ha demostrado que los divisores que son nmeros
pares tienden a comportase pobremente, especialmente con los
conjuntos de valores de llave que son predominantemente impares.
Algunas investigaciones sugieren que el divisor deber ser un nmero
primo. Sin embargo, otras sugieren que los divisores no primos trabajan
tambin como los divisores primos, siempre y cuando los divisores no
Pliegue
En esta tcnica el valor de la llave es particionada en varias partes, cada
una de las cuales (excepto la ltima) tiene el mismo nmero de dgitos
que tiene la direccin relativa objetivo. Estas particiones son despus
plegadas una sobre otra y sumadas. El resultado, es la direccin relativa.
Igual que para el mtodo del medio del cuadrado, el tamao del espacio
de direcciones relativas es una potencia de 10.
COMPARACIN ENTRE LAS FUNCIONES HASH
Insercin (llave, valor) bsqueda (llave) que devuelve valor La mayora de las
implementaciones tambin incluyen borrar (llave). Tambin se pueden ofrecer
funciones como iteracin en la tabla, crecimiento y vaciado. Algunas tablas hash
permiten almacenar mltiples valores bajo la misma clave.
Para usar una tabla hash se necesita:
Una estructura de acceso directo (normalmente un array).
Una estructura de datos con una clave
Una funcin resumen (hash) cuyo dominio sea el espacio de claves y su imagen
(o rango) los nmeros naturales
INSERSION
Para almacenar un elemento en la tabla hash se ha de convertir su clave a un
nmero. Esto se consigue aplicando la funcin resumen a la clave del elemento.
El resultado de la funcin resumen ha de mapearse al espacio de direcciones del
array que se emplea como soporte, lo cual se consigue con la funcin modulo.
Tras este paso se obtiene un ndice vlido para la tabla.
El elemento se almacena en la posicin de la tabla obtenida en el paso anterior.
BUSQUEDA
Para recuperar los datos, es necesario nicamente conocer la clave del
elemento, a la cual se le aplica la funcin resumen.
El valor obtenido se mapea al espacio de direcciones de la tabla.
Si el elemento existente en la posicin indicada en el paso anterior tiene la
misma clave que la empleada en la bsqueda, entonces es el deseado. Si la
clave es distinta, se ha de buscar el elemento segn la tcnica empleada para
resolver el problema de las colisiones al almacenar el elemento.
HASHING ABIERTO
Suposicin de hashing uniforme: es cuando cualquier elemento es igualmente
probable de caer en cualquiera de las m entradas de la tabla hash,
independientemente de cualquier otro elemento.
Desde un gran Universo slo un nmero reducido de claves sern
consideradas.
HASHING CERRADO
Bibliografa
http://es.slideshare.net/luisigoodbad/busquedas-binarias-y-secuenciales?
next_slideshow=1
https://estructuradedatositp.wikispaces.com/6.1.+M%C3%A9todo+de+b
%C3%BAsqueda+SECUENCIAL
https://prezi.com/4yytyzarh8m_/metodo-de-busqueda-de-hashing/
http://www.scribd.com/doc/80951155/Metodo-de-BusquedaHashing#scribd
https://sites.google.com/site/estdatjiq/home/unidad-vi
http://estructura-de-datos-itsav.blogspot.mx/2012/03/83-algoritmo-debusqueda-hash.html