ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Código en lenguaje C del algoritmo de la búsqueda binaria de manera recursiva


Enviado por   •  18 de Febrero de 2016  •  Práctica o problema  •  359 Palabras (2 Páginas)  •  331 Visitas

Página 1 de 2

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]

...

Descargar como (para miembros actualizados) txt (1 Kb) pdf (289 Kb) docx (377 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com