Albeiro Cuadrado Machado Sebastián Arteaga Diaz
-Definición método de búsqueda secuencial
-¿Ventaja o desventaja?
-Estrategia a usar
-Cabecera de la función
-Resultado final
Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos. La variante más simple del problema es la búsqueda de un número en un vector.
Source: Wikipedia
Se utiliza cuando el vector no está ordenado o no puede ser ordenado previamente. Consiste en buscar el elemento comparándolo secuencialmente (de ahí su nombre) con cada elemento del vector hasta encontrarlo, o hasta que se llegue al final. La existencia se puede asegurar cuando el elemento es localizado, pero no podemos asegurar la no existencia hasta no haber analizado todos los elementos del vector.
A la hora de realizar una búsqueda secuencial en un vector se recorrerá dicho vector hasta que se cumpla una de estas condiciones:
Una búsqueda secuencial puede tener por tanto dos posibles resultados
Desarrollar una función que reciba un vector de enteros, el tamaño de dicho vector y un valor a buscar. La función debe devolver la posición de la primera ocurrencia del valor en el vector, o -1 si el valor no esta en el vector.
int Busqueda(int v[], int Tam, int Valor)
Tipo de retorno
Vector
Tamaño del vector
Valor a buscar
...
for (i=0; i<Tam; i++)
if (v[i] == Valor)
return i;
...
Recorrer vector desde el principio y devolver la posición del primer elemento igual a Valor:
... for ...
...
return -1;
¿Que hacer para contemplar el caso de que el valor no esté en el vector? Tras recorrer todo el vector retornar el valor -1.
int Busqueda(int v[], int Tam, int Valor)
{
int i;
for (i=0; i<Tam; i++)
if ( v[i] == Valor )
return i;
return -1;
}
78
27
-1
4
27
0 1 2 3 4
• La búsqueda es el proceso de encontrar la posición de un elemento destino dentro de una lista
• Existen dos métodos básicos de búsqueda en arrays: secuencial y binaria.
• La búsqueda secuencial se utiliza normalmente cuando el array no está ordenado. Comienza en el
principio del array y busca hasta que se encuentra el dato buscado y se llega al final de la lista.
• Si un array está ordenado, se puede utilizar un algoritmo más eficiente denominado búsqueda
binaria.