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