You are on page 1of 4

Bsqueda secuencial

La bsqueda es el proceso de localizar un registro (elemento) con un valor de llave particular. La bsqueda termina exitosamente cuando se localiza el registro que contenga la llave buscada, o termina sin xito, cuando se determina que no aparece ningn registro con esa llave. Bsqueda secuencial, tambin se le conoce como bsqueda lineal. Supongamos una coleccin de registros organizados como una lista lineal. 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 reorganicen 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 el. 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 mas accesos tenga el registro, mas rpidamente avanzara hacia la primera posicin. Comparado con el mtodo de movimiento al frente, el mtodo requiere mas 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 numero 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.

Comparacin
Bsqueda Secuencial La bsqueda secuencial es la tcnica ms simple para buscar un elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (clave). Se empieza con la primera casilla del arreglo y se observa una casilla tras otra hasta que se encuentra el elemento buscado o se han visto todas las casillas. El resultado de la bsqueda es un solo valor, y ser la posicin del elemento buscado o cero. Dado que el arreglo no est en ningn orden en particular, existe la misma probabilidad de que el valor se encuentra ya sea en el primer elemento, como en el ltimo. Por lo tanto, en promedio, el programa tendr que comparar el valor buscado con la mitad de los elementos del arreglo. El mtodo de bsqueda lineal funciona bien con arreglos pequeos o para arreglos no ordenados. Bsqueda Secuencial Indexada Descripcin de la tcnica. Un mtodo popular para superar las desventajas de los archivos secuenciales es el del archivo secuencial indexado; pero implica un aumento en la cantidad de espacio requerida. Funciona de la siguiente manera:

Se reserva una tabla auxiliar llamada ndice adems del archivo ordenado mismo. Cada elemento en el indice consta de una llave kindex y un apuntador al registro en el archivo que corresponde a kindex. Los elementos en el indice al igual que los elementos en el archivo, deben estar ordenados en la llave. Si el indice es de un octavo del tamao del archivo, se representa en el indice cada octavo registra el archivo.

Bsqueda secuencial Bsqueda secuencial consiste en revisar elemento por elemento hasta encontrar el dato buscado, o hasta llegar al final de la lista de datos disponible. La bsqueda secuencial, tambin se le conoce como bsqueda lineal. Supongamos una coleccin de registros organizados como una lista lineal, el algoritmo bsico de bsqueda secuencial consiste en empezar al inicio de la lista e ir a travs de cada registro hasta encontrar la clave indicada (k) o hasta el final de la lista. La bsqueda secuencial es la tcnica ms simple para buscar un elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (clave). Se empieza con la primera casilla del arreglo y se observa una casilla tras otra hasta que se

encuentra el elemento buscado o se han visto todas las casillas. El resultado de la bsqueda es un solo valor, y ser la posicin del elemento buscado o cero. Dado que el arreglo no est en ningn orden en particular, existe la misma probabilidad de que el valor se encuentra ya sea en el primer elemento, como en el ltimo. Por lo tanto, en promedio, el programa tendr que comparar el valor buscado con la mitad de los elementos del arreglo. El mtodo de bsqueda secuencial funciona bien con arreglos pequeos o para arreglos no ordenados. Si el arreglo est ordenado, se puede utilizar la tcnica de alta velocidad de bsqueda binaria, donde se reduce sucesivamente la operacin eliminando repetidas veces la mitad de la lista restante.

Algoritmo de bsqueda secuencial en un arreglo desordenado Este algoritmo da como resultado una de dos posibles soluciones las cuales son: Encuentra o determina la posicin en la que encontr el elemento que cumple con las caractersticas deseadas. Enviar un mensaje de error o de fracaso en caso de no encontrar el elemento deseado en el arreglo. De este modo si hubiera dos o ms concurrencias del mismo valor, se encuentra la primera de ellas. Este algoritmo recibe tambin el nombre de secuencial con bandera por utilizar la variable auxiliar booleana, empleada para detener el ciclo en caso de que el elemento buscado haya sido encontrado. Esto hace que disminuya el nmero de comparaciones a realizar y por lo tanto aumenta la eficiencia del algoritmo. El mtodo secuencial pueda tambin aplicarse en algoritmos ordenados.

lgoritmo de bsqueda secuencial en un arreglo ordenado El arreglo puede estar ordenado de forma ascendentemente o de forma descendentemente. A continuacin se presenta el algoritmo de bsqueda con arreglos ordenados, tomaremos nicamente la forma ordenada ascendente, ya que la forma ordenada descendente es muy similar pues tiene simples variantes.

Anlisis de eficiencia La bsqueda secuencial no es el mtodo ms eficiente para vectores con un gran nmero de elementos. En estos casos, el mtodo ms idneo es el de bsqueda binaria, que presupone una ordenacin previa en los elementos del vector. Este caso suele ser muy utilizado facetas de la vida diaria. Un ejemplo de ello es la bsqueda del numero de un abonado en una gua telefnica; normalmente no se busca el nombre en orden secuencial, sino que se busca en la primera o segunda mitad de la gua; una vez en esa mitad. Se vuelve a tantear en una de sus dos submitades, y as sucesivamente se repite el proceso haga que se localiza la pagina correcta La operacin elemental seleccionada en la comparacin. * Caso Mejor: El elemento buscado est en la primera posicin. Caso Mejor = 1 * Caso Peor: El elemento buscado no se encuentra en el arreglo. Caso Peor = n * Caso Medio: El elemento buscado se encuentra en la posicin i en el arreglo. Caso Medio = (1 + n) / 2 Caractersticas * La bsqueda se puede realizar en arreglos desordenados. * El mtodo es totalmente confiable. * El nmero de comparaciones es significativa si el arreglo es muy grande. * En arreglos desordenados de N componentes puede suceder que el elemento no se encuentre, por lo tanto se harn N comparaciones al recorrer todo el arreglo * Cantidad mnima de comparaciones es 1. * Cantidad media de comparaciones es (1+N)/2. * Cantidad mxima de comparaciones es N. Ventajas

* Es un mtodo sumamente simple que resulta til cuando se tiene un conjunto de datos pequeos (Hasta aproximadamente 500 elementos) * Es fcil adaptar la bsqueda secuencial para que utilice una lista enlazada ordenada, lo que hace la bsqueda ms eficaz. * Si los datos buscados no estn en orden es el nico mtodo que puede emplearse para hacer dichas bsquedas. Desventajas

* Este mtodo tiende hacer muy lento. * Si los valores de la clave no son nicos, para encontrar todos los elementos con una clave particular, se requiere buscar en todo el arreglo, lo que hace el proceso muy largo.

http://html.rincondelvago.com/algoritmos-de-busqueda.html largo.