| Anterior | Home | Siguiente |
La búsqueda binaria consiste en localizar el término buscado comparándolo con la mediana del conjunto de elementos previamente ordenados, reduciendo así sucesivamente el intervalo de búsqueda.
Ejemplo, dado el siguiente vector:
| 1 | 3 | 5 | 9 | 11 | 12 | 20 | 22 | 30 | 32 | 33 | 35 | 57 |
Suponiendo que buscamos el 5, efectuaremos los siguientes pasos:
A continuación se muestra el diagrama de flujo de Busqueda Binaria suponiendo que buscamos el valor Valor dentro del arreglo X[ ]:
A continuación se muestra un fragmento de código en C correspondiente al diagrama de flujo anterior:
.
.
.
int i;
float valor;
float X[N];
int alto,central,bajo;
.
.
.
bajo=0;
alto=N-1;
central=(bajo+alto)/2;
while(bajo<=alto&&X[central]!=valor)
{
if(valor<X[central]) alto=central-1;
else bajo=central+1;
central=(bajo+alto)/2;
}
if(valor==X[central]) printf("El valor se encuentra
en la posición %i",central);
else printf("El valor no se encuentra");
.
.
.
Código completos: busqbina.zip
| Anterior | Home | Siguiente |
© 2000 Made in Bufoland