Sie sind auf Seite 1von 8

Universidad Centroamericana

UCA
Facultad de Ciencia Tecnologa y Ambiente
Ingeniera en Sistemas y Tecnologa de la Informacin
ISTI

MODELO FUNCIONAL Y TEORA DE ALGORITMOS


BSQUEDA BINARIA
Integrantes:
Erika Argueta
Axel Gonzlez
Jonathan Gonzlez
Aris Medrano

Docente:
Lic. Csar Marn Lpez

Ao Lectivo:
2014

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

INTRODUCCIN

Este documento expone la conceptualizacin de las bsquedas binarias


implementadas para facilitar el encuentro de elementos en una estructura de
datos. Adems presenta el algoritmo a seguir de forma particularizada para
realizar esta tcnica de bsqueda y ejemplos ajustados a la teora con soluciones
fidedignas y exactas. Igualmente determina la definicin del peor y mejor de los
casos en este tipo de funcin con el objetivo de identificarlos, practicarlos y
verificar el anlisis de las bsquedas binarias.
Esperamos que este documento sea un canal de informacin para aquellas
personas que dediquen tiempo en leerlo.

Modelo Funcional y Teora de Algoritmos


2

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

DESARROLLO
A. Definicin de bsqueda binaria
Es una tcnica de bsqueda mejorada dirigida a estructuras de datos ordenadas.
Su funcionalidad permite situar la lectura en el centro de la lista y determinar un
lado inferior y otro superior, se comprueba si la clave a encontrar coincide con el
valor del elemento central. Si no se encuentra el valor de la clave, se sigue la
misma lgica de la funcin de bsqueda uno en la mitad inferior o superior del
elemento central de la lista y en caso de no encontrarse en la lista generalmente
retorna -1. Por otro lado, si los datos de la lista estn ordenados, este algoritmo
puede utilizar esa informacin para minimizar el tiempo de bsqueda. (Robert)
Por ejemplo:
Se desea buscar el elemento 225 y ver si se encuentra en el conjunto de datos
siguiente:

El punto central de la lista es el elemento a[3] (100). El valor que se busca es 225,
mayor que 100; por consiguiente, la bsqueda contina en la mitad superior del
conjunto de datos de la lista, es decir, en la sublista.

Ahora el elemento mitad de esta sublista a[5] (275). El valor buscado, 225, es
menor que 275 y, por consiguiente, la bsqueda contina en la mitad inferior del
conjunto de datos de la lista actual; es decir, en la sublista de un nico elemento:

El elemento mitad de esta sublista es el propio elemento a[4] (120). Al ser 255
mayor que 120 la bsqueda debe continuar en una sublista vaca. Se concluye
indicando que no se encontr la clave en la lista.

Modelo Funcional y Teora de Algoritmos


2

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

B. Algoritmo y codificacin de la bsqueda binaria

Suponiendo que la lista est almacenada como un array, los ndices de la lista
son:
bajo = 0 y alto = n-1 y n es el nmero de elementos del array y los pasos del
algoritmo son:
a. Calcular el ndice del punto central del array
central = (bajo + alto)/2 (divisin entera)
b. Comparar el valor de este elemento central con la clave:

c. Luego decimos que:


Si a[central] < clave, entonces la nueva sublista de bsqueda tiene por
valores extremos de su rango bajo = central+1...alto.
Si clave < a[central], entonces la nueva sublista de bsqueda tiene por
valores extremos de su rango bajo..central-1. De modo que se entienda as:

Finalmente
podemos decir que, El algoritmo se termina bien porque se ha encontrado la clave
o porque el valor de bajo excede a alto y el algoritmo devuelve el indicador de fallo
de 1 (bsqueda no encontrada).

Modelo Funcional y Teora de Algoritmos


2

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

Por ejemplo:
a. Sea el array de enteros A (-8, 4, 5, 9, 12, 18, 25, 40, 60), buscar la clave
= 40.

b. B
uscar en sublista derecha o superior

c. Buscar en sublista derecha

El algoritmo ha requerido 3 comparaciones frente a 8 comparaciones (n 1,


es decir, 9 1 = 8) que se hubieran realizado con la bsqueda secuencial
es decir, en una lista no ordenada. (Joyanes)

C. Anlisis de los algoritmos de bsqueda binaria

Modelo Funcional y Teora de Algoritmos


2

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

El caso mejor se presenta cuando una coincidencia se encuentra en el punto


central de la lista. En este caso la complejidad es O (1) dado que slo se realiza
una prueba de comparacin de igualdad. La complejidad del peor caso es
Log2 n ) que se produce cuando el elemento no est en la lista o el elemento se
O(
encuentra en la ltima comparacin. Se puede deducir intuitivamente esta
complejidad. El peor caso se produce cuando se debe continuar la bsqueda y
llegar a una sublista de longitud de 1. Cada iteracin que falla debe continuar
disminuyendo la longitud de la sublista por un actor de 2.
El tamao de las sublistas es:

La divisin de sublistas requiere m iteraciones, en cada iteracin el tamao de la


sublista se reduce a la mitad. La sucesin de tamaos de las sublistas hasta una
sublista de longitud 1:

Modelo Funcional y Teora de Algoritmos


2

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

CONCLUSIN
A lo largo de este trabajo se ha demostrado la definicin ptima y calidad
del uso de bsquedas binarias como parte de algoritmos, adems se
presentaron procesos detallados en la implementacin de esta tcnica de
bsqueda con el objetivo de lograr un ahorro mnimo de tiempo en la
ejecucin del cdigo y la bsqueda. Por otro lado se emple la informacin
apropiada para determinar el mejor caso de bsqueda al encontrar una
clave digitada igual al valor central de una lista de datos determinada
concibiendo una sola iteracin y el peor de los casos al recorrer varias
sublistas en un arreglo determinado de manera que, encuentre el valor
necesitado en la ltima iteracin o no lo acierte y que muestre que el
elemento no se encontr.

Modelo Funcional y Teora de Algoritmos


2

Universidad Centroamericana
Facultad de Ciencia, Tecnologa y TICS
ISTI

BIBLIOGRAFA
Joyanes. (s.f.). PROGRAMACIN EN C metodologa, algoritmos y estructuras de
datos. Recuperado el 06 de Abril de 2014, de
http://nelwibaez.files.wordpress.com/2013/08/programacion-en-cmetodologia-algoritmos-y-estructura-de-datos-editorial-mcgraw-hill2.pdf

Robert. (s.f.). Mundo de la Programacion. Recuperado el 06 de Abril de 2014, de


http://programacionzero.blogspot.com/2011/02/busqueda-binaria-codigoen-c.html

Modelo Funcional y Teora de Algoritmos


2

Das könnte Ihnen auch gefallen