Está en la página 1de 2

Daniela Salcido Quintana

La bsqueda binaria es un ejemplo de la complejidad de O (log n). Digamos que los nodos en el nivel
inferior del rbol en la figura 1 representan los elementos de alguna coleccin ordenada. La
bsqueda binaria es un algoritmo de divide y vencers, y el dibujo muestra cmo vamos a necesitar
(como mximo) 4 comparaciones para encontrar el registro que buscamos en este conjunto de
datos 16 artculo.
Supongamos que tuvimos en su lugar un conjunto de datos con 32 elementos. Continuar el dibujo
de arriba para encontrar que ahora vamos a necesitar 5 comparaciones para encontrar lo que
estamos buscamos, como el rbol slo ha crecido un nivel ms profundo cuando multiplicamos la
cantidad de datos. Como resultado, la complejidad del algoritmo se puede describir como un orden
logartmico.
La ltima afirmacin implica que, dado que la clasificacin tiene n elementos (n lg n) el tiempo en
el peor caso en el modelo de comparacin, cualquier algoritmo basado en la comparacin para
construir un rbol binario de bsqueda de la lista arbitraria n elementos de toma (n lg n) tiempo
en el peor de los casos.
Podemos demostrar la validez de este argumento (en caso de que usted est pensando en vencer a
(n lg n) obligado) de la siguiente manera: dejar que c (n) ser el peor de los casos el tiempo de
funcionamiento para la construccin de un rbol binario de un conjunto de n elementos. Dado un n
-nodos BST, el paseo fin de en el rbol de salida a las teclas en el orden establecido. Algoritmo de
ordenacin Desde el peor de los casos el tiempo de cualquier clculo acumulado basado es (n lg
n), tenemos

c(n) + O (n) = (n lg n)
Por lo tanto,

c (n) = (n lg n).

Algoritmo de Bsqueda
BSQUEDA (NODO, INFOR)
{El algoritmo localiza un nodo en un rbol binario de bsqueda. NODO es una variable de tipo
puntero que apunta a la raz del rbol. INFOR es una variable que contiene la informacin que se
desea localizar en el rbol. Cabe aclarar que la primera vez la variable NODO no puede ser vaca.}
Si INFOR < NODO^.INFO entonces
Si NODO^.IZQ = NILL entonces
Escribir El nodo no se encuentra en el rbol
Sino

BSQUEDA (NODO^.IZQ, INFOR) {Llamada recursiva}


Fin Si
Sino
Si INFOR > NODO^.INFO entonces
Si NODO^.DER = NILL entonces
Escribir El nodo no se encuentra en el rbol
Sino
BSQUEDA (NODO^.DER, INFOR) {Llamada recursiva}
Fin Si
Sino
Escribir El nodo se encuentra en el rbol
Fin Si
Fin Si
Fin del algoritmo

También podría gustarte