Es el método mas eficiente para encontrar elelmentos en un arreglo ordenado.El proceso comienza comparando el elemento central del arreglo con el valor buscado.Si ambos coinciden finaliza la búsqueda. Si no ocurre así, el elemento buscado será mayor o menor en sentido estricto que el central del arreglo. Si el elemento buscado es mayor se procede a hacer búsqueda binaria en el subarray superior, si el elemento buscado es menor que el contenido de la casilla central, se debe cambiar el segmento a considerar al segmento que está a la izquierda de tal sitio central.
Y su algoritmo es el siguiente:
El siguiente ejemplo explica de manera simple su funcionamiento:
Tenemos el arreglo: A= {1,3,4,2,5,6,12,43,21} y queremos buscar el numero 12, entonces lo primero que se hace es comparar la casilla A(5) que en este caso vale 5 y como 5<>12 entonces entra a la siguiente condicion y compara 12>5 entonces entra al siguiente ciclo donde i vale 5 y compara A(5) y da que 5<>12 entonces i aumenta en 1 y ahora compara A(6) que vale 6 y da lo siguiente 6<>12 entonces i se incrementa en 1 y ahora vale 7 a lo que A(7) se compara y da que 12=12 por lo tanto el valor de la bandera cambia a verdadero y se interrumpe el ciclo y se llega a la condicion final donde se toma en cuenta el valor de la bandera y como en este caso es verdadero se muestra lo siguiente "12 hallado en posicion 7".

No hay comentarios:
Publicar un comentario