Código en lenguaje C del algoritmo de la búsqueda binaria de manera recursiva
Enviado por Ana Patricia Matus Vicente • 18 de Febrero de 2016 • Práctica o problema • 359 Palabras (2 Páginas) • 330 Visitas
Universidad del Istmo Campus Tehuantepec
Ingeniería en Computación
Análisis y Complejidad de Algoritmos
Décimo semestre
El siguiente código muestra la implementación en lenguaje C del algoritmo de la búsqueda binaria de manera recursiva.
#include
#define n 20
#define NO_SUCH_KEY -1
int BinarySearch(int S[], int k, int low, int high);
int key(int S[],int mid);
int main()
{
int S[]={1,3,6,8,9,10,13,18,19,30,44,45,67,69,77,79,80,83,89,100};
int k,resul;
printf("Numero a buscar:");
scanf( "%d",&k);
resul = BinarySearch(S, k, 0,n - 1);
if ( resul!= -1 )
printf("\nNumero encontrado");
else
printf( "\nNumero no encontrado");
getchar();
getchar();
}
int BinarySearch( int S[], int k, int low, int high)
{
if ( low > high )
return NO_SUCH_KEY;
else
{
int mid = (low + high)/2;
if (k == key(S,mid))
return S[mid];
else
{
if(k
return BinarySearch( S, k, low, mid - 1);
else
return BinarySearch(S, k, mid + 1, high);
}
}
}
int key(int S[], int mid)
{
return S[mid];
}
La salida es la siguiente pide ingresar el número a buscar el cuál se le da el numero 100 y lo encuentra.
[pic 1]
Ahora el número a buscar es el 32, el cual no existe en el arreglo y muestra el mensaje de que el número no fue encontrado.
[pic 2]
...