Búsqueda secuencial

La búsqueda es el proceso de localizar un registro (elemento) con un valor de llave particular. La búsqueda termina exitosamente cuando se localiza el registro que contenga la llave buscada, o termina sin éxito, cuando se determina que no aparece ningún registro con esa llave. Búsqueda secuencial, también se le conoce como búsqueda lineal. Supongamos una colección de registros organizados como una lista lineal. El algoritmo básico de búsqueda secuencial consiste en empezar al inicio de la lista e ir a través de cada registro hasta encontrar la llave indicada (k), o hasta al final de la lista. La situación ó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 método de búsqueda es muy lento, pero si los datos no están en orden es el único método que puede emplearse para hacer las búsquedas. 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 búsqueda secuencial 1) Muestreo de acceso Este método 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 dinámicamente. Con este método, cada vez que búsqueda de una llave sea exitosa, el registro correspondiente se mueve a la primera posición de la lista y se recorren una posición hacia abajo los que estaban antes que el. 3) Transposición Este es otro esquema de reorganización dinámica que consiste en que, cada vez que se lleve a cabo una búsqueda exitosa, el registro correspondiente se intercambia con el anterior. Con este procedimiento, entre mas accesos tenga el registro, mas rápidamente avanzara hacia la primera posición. Comparado con el método de movimiento al frente, el método requiere mas tiempo de actividad para reorganizar al conjunto de registros . Una ventaja de método de transposición es que no permite que el requerimiento aislado de un registro, cambie de posición 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 búsqueda sin éxito es la de ordenar los registros en base al valor de la llave. Esta técnica es útil cuando la lista es una lista de excepciones, tales como una lista de decisiones, en cuyo caso la mayoría de las búsquedas no tendrán éxito. Con este método una búsqueda sin éxito termina cuando se encuentra el primer valor de la llave mayor que el buscado, en lugar de la final de la lista.

Comparación
Búsqueda Secuencial La búsqueda secuencial es la técnica más 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 búsqueda es un solo valor, y será la posición del elemento buscado o cero. Dado que el arreglo no está en ningún 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 método de búsqueda lineal funciona bien con arreglos pequeños o para arreglos no ordenados. Búsqueda Secuencial Indexada Descripción de la técnica. Un método 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:

Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (clave). se representa en el indice cada octavo registra el archivo. Búsqueda secuencial Búsqueda secuencial consiste en revisar elemento por elemento hasta encontrar el dato buscado.Se reserva una tabla auxiliar llamada índice además del archivo ordenado mismo. De este modo si hubiera dos o más concurrencias del mismo valor. deben estar ordenados en la llave. Por lo tanto. . El método de búsqueda secuencial funciona bien con arreglos pequeños o para arreglos no ordenados. donde se reduce sucesivamente la operación eliminando repetidas veces la mitad de la lista restante. Esto hace que disminuya el número de comparaciones a realizar y por lo tanto aumenta la eficiencia del algoritmo. se puede utilizar la técnica de alta velocidad de búsqueda binaria. empleada para detener el ciclo en caso de que el elemento buscado haya sido encontrado. existe la misma probabilidad de que el valor se encuentra ya sea en el primer elemento. Si el arreglo está ordenado. Algoritmo de búsqueda secuencial en un arreglo desordenado Este algoritmo da como resultado una de dos posibles soluciones las cuales son: •Encuentra o determina la posición en la que encontró el elemento que cumple con las características deseadas. el algoritmo básico de búsqueda secuencial consiste en empezar al inicio de la lista e ir a través de cada registro hasta encontrar la clave indicada (k) o hasta el final de la lista. en promedio. Los elementos en el indice al igual que los elementos en el archivo. Dado que el arreglo no está en ningún orden en particular. como en el último. Este algoritmo recibe también el nombre de secuencial con bandera por utilizar la variable auxiliar booleana. Supongamos una colección de registros organizados como una lista lineal. El método secuencial pueda también aplicarse en algoritmos ordenados. Si el indice es de un octavo del tamaño del archivo. o hasta llegar al final de la lista de datos disponible. La búsqueda secuencial es la técnica más simple para buscar un elemento en un arreglo. Cada elemento en el indice consta de una llave kindex y un apuntador al registro en el archivo que corresponde a kindex. el programa tendrá que comparar el valor buscado con la mitad de los elementos del arreglo. •Enviar un mensaje de error o de fracaso en caso de no encontrar el elemento deseado en el arreglo. y será la posición del elemento buscado o cero. La búsqueda secuencial. El resultado de la búsqueda es un solo valor. 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. se encuentra la primera de ellas. también se le conoce como búsqueda lineal.

Caso Peor = n * Caso Medio: El elemento buscado se encuentra en la posición i en el arreglo. Este caso suele ser muy utilizado facetas de la vida diaria. Un ejemplo de ello es la búsqueda del numero de un abonado en una guía telefónica. Ventajas .lgoritmo de búsqueda secuencial en un arreglo ordenado El arreglo puede estar ordenado de forma ascendentemente o de forma descendentemente. y así sucesivamente se repite el proceso haga que se localiza la pagina correcta La operación elemental seleccionada en la comparación. sino que se busca en la primera o segunda mitad de la guía. * El método es totalmente confiable. * Cantidad máxima de comparaciones es N. * En arreglos desordenados de N componentes puede suceder que el elemento no se encuentre. una vez en esa mitad. Caso Mejor = 1 * Caso Peor: El elemento buscado no se encuentra en el arreglo. A continuación se presenta el algoritmo de búsqueda con arreglos ordenados. ya que la forma ordenada descendente es muy similar pues tiene simples variantes. * El número de comparaciones es significativa si el arreglo es muy grande. Se vuelve a tantear en una de sus dos submitades. tomaremos únicamente la forma ordenada ascendente. Caso Medio = (1 + n) / 2 Características * La búsqueda se puede realizar en arreglos desordenados. por lo tanto se harán N comparaciones al recorrer todo el arreglo * Cantidad mínima de comparaciones es 1. En estos casos. * Caso Mejor: El elemento buscado está en la primera posición. que presupone una ordenación previa en los elementos del vector. * Cantidad media de comparaciones es (1+N)/2. Análisis de eficiencia La búsqueda secuencial no es el método más eficiente para vectores con un gran número de elementos. el método más idóneo es el de búsqueda binaria. normalmente no se busca el nombre en orden secuencial.

html largo.com/algoritmos-de-busqueda. . http://html. * Si los datos buscados no están en orden es el único método que puede emplearse para hacer dichas búsquedas. Desventajas * Este método tiende hacer muy lento. se requiere buscar en todo el arreglo.* Es un método sumamente simple que resulta útil cuando se tiene un conjunto de datos pequeños (Hasta aproximadamente 500 elementos) * Es fácil adaptar la búsqueda secuencial para que utilice una lista enlazada ordenada. lo que hace la búsqueda más eficaz. * Si los valores de la clave no son únicos. para encontrar todos los elementos con una clave particular. lo que hace el proceso muy largo.rincondelvago.

Sign up to vote on this title
UsefulNot useful