Académique Documents
Professionnel Documents
Culture Documents
El algoritmo de bsqueda binaria es un excelente mtodo para buscar datos dentro de una
El cdigo por fuerza bruta es bastante sencillo: for(int i=0; i<Arreglo.length; i++) if(Arreglo[i] == elemento) System.out.println("\nElemento encontrado en la posicion: " + i);
El algoritmo de bsqueda binaria es el siguiente: 1. Se declaran los ndices superior e inferior. El inferior en 0 y el superior con el tamao del arreglo menos 1. 2. Se calcula el centro del arreglo con la siguiente formula: centro = (superior + inferior) / 2
3. Verificamos si el arreglo en la posicin centro es igual al dato que buscamos. Si es igual significa que encontramos el dato y
retornamos centro.
4. Si son diferentes verificamos si el arreglo en la posicin centro es mayor al dato que queremos buscar. Si es mayor actualizamos superior: superior = centro - 1, si no actualizamos inferior: inferior = centro + 1.
5. Volvemos al paso 2.
Supongamos que tenemos el arreglo {2, 3, 5, 7, 9, 11, 14, 18, 22, 25} y queremos buscar el dato 18, entonces el inferior toma el valor de 0 y superior el valor de 9 (ya que es tamao del arreglo menos 1).
Calculamos el centro, centro = (superior + inferior) / 2 centro = (9 + 0) / 2 centro = 4 divisin entera(ignorando la parte decimal). Arreglo en la posicin centro es 9 (Arreglo[centro] = 9) ya que se empieza a contar desde 0.
Como se puede notar este mtodo es bastante eficiente en arreglos grandes, por ejemplo supongamos que tenemos un arreglo de 10000 datos, y estamos buscando un dato que se encuentra en la posicin 6000, solo en la primera vuelta del ciclo ya se pueden descartar los primeros 5000 valores, en cambio por fuerza bruta se tendran que realizar esos 6000 ciclos para poder localizar el dato.