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

BUSQUEDA BINARIA


Enviado por   •  1 de Mayo de 2018  •  Ensayo  •  295 Palabras (2 Páginas)  •  166 Visitas

Página 1 de 2

Búsqueda Binaria:

Condiciones necesarias:

  Elementos ordenados (MO burbuja quicksort etc)

  Tamaño de la lista o vector

  Elemento a buscar

Funcionamiento:

  Encontrar punto medio (tomando como limite inferior el 0 o 1 y el limite superior el tamaño de la   lista, los sumamos y los dividimos entre 2)

  Comparar elemento a buscar con el punto medio

  Si el elemento a buscar es mayor que el punto medio, buscar en  mitad superior

  Si el elmento a buscar es menor al punto medio, buscar en mitad inferior

Si son igual hemos terminado

Se realiza el mismo proceso pero con los intervalos cambiados hasta llegar a un intervalo indivisible, si este es distinto del elemento de búsqueda se dice q el elemento no se encuentra en la lista.

4, 8, 9, 12, 21, 33, 44, 56, 120, 200       M=33 LI=0 LS=10 (LI+S)/2=5     buscar=120 B>M

Codigo en Lenguaje C:

#include

int binario (int[], int, int, int);

int main (void)

{

int A[]= {1,4,7,9,35,67,101,459,600,701};

int B=0, R=0, Arriba=0, Abajo=0,Medio=0;

printf(“ introduzca el elemento a buscar\n”);

scanf(“%d”,&B);  

Arriba=10;

R=(int)binario(A,Abajo,Arriba,B);

if (R== -1)

   printf(“El elemento no se encuentra en el arreglo\n”);

else

   printf(“El elemento se encuentra en la posición %d\n”, R);

}

int binario(int A[], int Ab, int Ar, int C)

{

While (Ab<=Ar)

  {

   int M=(int)(Ab+Ar)/2;

   if (C

     return binario(A, Ab, M-1, C);

  else  if (C>A[M])

             return binario (A, M+1, Ar, C);

         else  if (C==[M])

                    return M;

  }

return -1;

}

“Haz tu pasión tu profesión”

...

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