Beruflich Dokumente
Kultur Dokumente
La bsqueda binaria consiste en dividir el intervalo de bsqueda en dos partes, comparando el elementos buscado con el central. En caso de no ser iguales se redefinen los extremos del intervalo (segn el elemento central sea mayor o menos que el elemento buscado) disminuyendo el espacio de bsqueda. El proceso concluye cuando el elementos es encontrado, o bien cuando el intervalo de bsqueda se anula. Este mtodo funciona nicamente para arreglos ordenados. Con cada iteracin del mtodo el espacio de bsqueda se reduce a la mitad, por lo tanto el numero de comparaciones a realizar disminuye notablemente. Esta disminucin resulta significativa cuanto mas grande sea el tamao del arreglo. A continuacin se presenta el algoritmos de bsqueda binaria.
ALGORITMO:
Binaria (V, N, X) {Este algoritmo busca al elementos X en el arreglo ordenado V de N componentes} {IZQ, CEN y DER son variables de tipo entero. BANDERA es una variable de tipo booleano} 1. Hacer IZQ 1, DER N y BANDERA FALSO 2. Repetir mientras (IZQ DER) y (BANDERA = FALSO) Hacer CEN PARTE ENTERA ((IZQ + DER) /2) 2.1 Si X = V [CEN] entonces Hacer BANDERA VERDADERA Si no {Redefinir intervalo de bsqueda} 2.1.1 Si X = V [CEN] entonces Hacer IZQ CEN + 1 Si no Hacer DER CEN -1 2.1.2 {Fin del condicional del paso 2.1.1} 2.2 {Fin del condicional del paso 2.1} 3. {Fin del ciclo del paso 2} 4. Si BANDERA = VERDADERO entonces Escribir El elemento esta en la posicin CEN Si no Escribir El elemento no esta en el arreglo 5. {Fin del condicional del paso 4}
Se presenta a continuacin una variante del algoritmo anterior, ahora sin usar la variable BANDERA. Binaria (V, N, X) {Este algoritmo busca al elementos X en el arreglo ordenado V de N componentes} {IZQ, DER y CEN son variables de tipo entero } 1. Hacer IZQ 1, DER N y CEN PARTE ENTERA ((IZQ + DER) / 2) 2. Repetir mientras (IZQ DER) y (X V [CEN]) Hacer CEN PARTE ENTERA ((IZQ + DER) /2) 2.1 Si X > V [CEN] entonces Hacer IZQ CEN + 1 Si no Hacer DER CEN -1 2.2 {Fin del condicional del paso 2.1} Hacer CEN PARTE ENTERA ((IZQ + DER) / 2) 3. {Fin del ciclo del paso 2} 4. Si IZQ > DER entonces Escribir El elemento no esta en el arreglo si no Escribir El elemento esta en la posicin CEN 5. {Fin del condicional del paso 4}