You are on page 1of 9

Nombre del estudiante: Arturo Garcia Soriano

Nombre del trabajo: Investigacin Sobre


Mtodos de Busqueda

Fecha de entrega: Agosto de 2015

Campus: Aguascalientes

Carrera: Licenciatura en Sistemas de


Computacin Administrativa

Cuatrimestre: Octavo

Nombre del maestro: MTC Georgina Salazar


Partida

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.

2)Movimiento hacia el frente


Este esquema consiste en que la lista de registros se reorganice
dinmicamente. Con este mtodo, cada vez que bsqueda de una llave
sea exitosa, el registro correspondiente se mueve a la primera posicin de
la lista y se recorren una posicin hacia abajo los que estaban antes que
l.

3)Transposicin

Este es otro esquema de reorganizacin dinmica que consiste en que,


cada vez que se lleve a cabo una bsqueda exitosa, el registro
correspondiente se intercambia con el anterior. Con este procedimiento,
entre ms accesos tenga el registro, ms rpidamente avanzara hacia la
primera posicin. Comparado con el mtodo de movimiento al frente, el
mtodo requiere ms tiempo de actividad para reorganizar al conjunto de
registros. Una ventaja de mtodo de transposicin es que no permite que
el requerimiento aislado de un registro, cambie de posicin todo el
conjunto de registros. De hecho, un registro debe ganar poco a poco su
derecho a alcanzar el inicio de la lista.

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

Se pueden usar los valores naturales de la llave, puesto que se traducen


internamente a direcciones fciles de localizar
Se logra independencia lgica y fsica, debido a que los valores de las
llaves son independientes del espacio de direcciones
No se requiere almacenamiento adicional para los ndices.

DESVENTAJAS
El archivo no est clasificado
No permite llaves repetidas
Solo permite acceso por una sola llave
Costos

Tiempo de procesamiento requerido para la aplicacin de la funcin hash


ALGORITMO HASHING

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

primos no contengan ningn factor primo menor de 20. Lo ms comn es


elegir el nmero primo ms prximo al total de direcciones.

Medio del cuadrado


En esta tcnica, la llave es elevada al cuadrado, despus algunos dgitos
especficos se extraen de la mitad del resultado para constituir la
direccin relativa. Si se desea una direccin de n dgitos, entonces los
dgitos se truncan en ambos extremos de la llave elevada al cuadrado,
tomando n dgitos intermedios. Las mismas posiciones de n dgitos deben
extraerse para cada llave.
Ejemplo:
Utilizando esta funcin hashing el tamao del archivo resultante es de
10n donde n es el nmero de dgitos extrados de los valores de la llave
elevada al cuadrado.

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

Aunque alguna otra tcnica pueda desempearse mejor en situaciones


particulares, la tcnica del residuo de la divisin proporciona el mejor
desempeo. Ninguna funcin hash se desempea siempre mejor que las otras.
El mtodo del medio del cuadrado puede aplicarse en archivos con factores de
cargas bastantes bajas para dar generalmente un buen desempeo. El mtodo
de pliegues puede ser la tcnica ms fcil de calcular pero produce resultados
bastante errticos, a menos que la longitud de la llave se aproximadamente
igual a la longitud de la direccin.
Tablas hash
Una tabla hash o mapa hash es una estructura de datos que asocia llaves o
claves con valores. La operacin principal que soporta de manera eficiente es la
bsqueda: permite el acceso a los elementos (telfono y direccin, por ejemplo)
almacenados a partir de una clave generada (usando el nombre o nmero de
cuenta, por ejemplo). Funciona transformando la clave con una funcin hashen
un hash, un nmero que la tabla hash utiliza para localizar el valor deseado.
OPERACIONES BSICAS

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

En Hashing cerrado, todos los elementos o claves son almacenados en la tabla


hashing misma. Es decir, cada entrada de la tabla contiene un elemento del
conjunto dinmico o NULL.

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

You might also like