Está en la página 1de 1

Algoritmo de búsqueda secuencial

Este algoritmo no requiere que el arreglo de entrada este ordenado para realizar una
búsqueda. El tiempo de ejecución en el peor caso es O(n), el pseudocódigo es mostrado a
continuación:

Algoritmo BusquedaSencuencial
Entrada: Arreglo a, Entero n, x Salida: Entero pos inicio pos <-- 0
{asumir posición fuera del arreglo} para i desde 1 hasta n hacer
inicio si a[i] = x entonces inicio
pos <-- i
break
fin
fin retornar pos
fin

1. Algoritmo de búsqueda binaria

Este algoritmo requiere que el arreglo de entrada este ordenado para realizar la búsqueda. El
tiempo de ejecución en el peor caso es de O(log n), el pseudocódigo es mostrado a continuación:

Algoritmo BusquedaBinaria
Entrada: Arreglo ordenado a, Entero p, r, x Salida: Entero pos inicio
pos <-- 0 {asumir posición fuera del arreglo} si p <= r entonces
inicio
m <-- (p + r) div 2 {calcular la mitad del arreglo}

si a[m] = x entonces pos <-- x


sino si x < a[m] entonces pos <-- BusquedaBinaria(a, p,
m-1, x)
sino pos <-- BusquedaBinaria(a, m+1, r, x)
fin retornar pos
fin

Para ejecutar el algoritmo la primera llamada debe ser con lo siguientes parámetros:
BusquedaBinaria(a, 1, n, x).

También podría gustarte