4. Búsqueda Secuencial
@ Manuel Alcántara R.
4
Dado un arreglo de “n” elementos A[n], el objetivo es
determinar si un valor o dato se encuentra en el arreglo
En la búsqueda secuencial compara cada elemento del
arreglo con el dato buscado hasta encontrarlo
5. Búsqueda Secuencial
@ Manuel Alcántara R.
5
Función busqueda_secuencial
Entrada: El arreglo donde buscar
El tamaño del arreglo
El dato a buscar dentro del arreglo
Salida: El valor de una variable denominada centinela o bandera.
Nombre de la variable centinela: "encontrado“
• Si el dato no se encuentra, "encontrado" tiene el valor 0
• Si el dato se encuentra, "encontrado" tiene el valor 1
Algoritmo:
busqueda_secuencial (arreglo, tamaño, dato)
inicio
encontrado <--0
para i <--0 hasta i <=tamaño-1 con incremento 1 hacer
si (arreglo[i] == dato)
encontrado <--1
fin_si
fin-para
retornar encontrado
fin
6. Búsqueda Secuencial
@ Manuel Alcántara R.
6
EJERCICO 01. HACER UNA FUNCION PARA IMPLEMENTAR LA
BUSQUEDA SECUENCIAL
9. Búsqueda Binaria
@ Manuel Alcántara R.
9
Precondición: arreglo ordenado
Característica: Es más eficiente que la búsqueda lineal
Algoritmo: Verificar si el dato buscado está en la mitad del arreglo, si está, se reporta como encontrado.
Si el elemento que se busca es mayor que el elemento de la mitad, se busca en el subarrgelo formado con los
elementos mayores, descartando el otro subarreglo con los elementos menores (similarmente cuando es menor).
Si el elemento que se busca es mayor , se redefine el límite del arreglo donde buscar desde el siguiente elemento
de la mitad hasta el final del arreglo.
En caso que el elemento que se busca es menor, el intervalo se toma desde el principio del arreglo hasta la mitad
del arreglo.
Cada vez que se realiza una comparación dentro del ciclo y mientras el límite inferior no sea mayor que el límite
superior, se reduce los elementos del arreglo a la mitad, es decir, el arreglo descarta la mitad de los elementos que
están fuera del rango.
Se termina cuando retorna un valor ya sea verdadero o falso que indica dato encontrado o no respectivamente.