2
Daniela Salcido Quintana La búsqueda 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 colección ordenada. La búsqueda binaria es un algoritmo de divide y vencerás, y el dibujo muestra cómo vamos a necesitar (como máximo) 4 comparaciones para encontrar el registro que buscamos en este conjunto de datos 16 artículo. 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 sólo ha crecido un nivel más profundo cuando multiplicamos la cantidad de datos. Como resultado, la complejidad del algoritmo se puede describir como un orden logarítmico. La última afirmación implica que, dado que la clasificación tiene n elementos Ω (n lg n) el tiempo en el peor caso en el modelo de comparación, cualquier algoritmo basado en la comparación para construir un árbol binario de búsqueda 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 construcción 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 ordenación Desde el peor de los casos el tiempo de cualquier cálculo acumulado basado es Ω (n lg n), tenemos c(n) + O (n) = Ω (n lg n) Por lo tanto, c (n) = Ω (n lg n). Algoritmo de Búsqueda • BÚSQUEDA (NODO, INFOR) • {El algoritmo localiza un nodo en un árbol binario de búsqueda. NODO es una variable de tipo puntero que apunta a la raíz del árbol. INFOR es una variable que contiene la información que se desea localizar en el árbol. Cabe aclarar que la primera vez la variable NODO no puede ser vacía.} • Si INFOR < NODO^.INFO entonces • Si NODO^.IZQ = NILL entonces • Escribir “El nodo no se encuentra en el árbol” • Sino

Tarea

Embed Size (px)

DESCRIPTION

dd

Citation preview

Page 1: Tarea

Daniela Salcido Quintana

La búsqueda 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 colección ordenada. La

búsqueda binaria es un algoritmo de divide y vencerás, y el dibujo muestra cómo vamos a necesitar

(como máximo) 4 comparaciones para encontrar el registro que buscamos en este conjunto de

datos 16 artículo.

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 sólo ha crecido un nivel más profundo cuando multiplicamos la

cantidad de datos. Como resultado, la complejidad del algoritmo se puede describir como un orden

logarítmico.

La última afirmación implica que, dado que la clasificación tiene n elementos Ω (n lg n) el tiempo en

el peor caso en el modelo de comparación, cualquier algoritmo basado en la comparación para

construir un árbol binario de búsqueda 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 construcción 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

ordenación Desde el peor de los casos el tiempo de cualquier cálculo acumulado basado es Ω (n lg

n), tenemos

c(n) + O (n) = Ω (n lg n)

Por lo tanto, c (n) = Ω (n lg n).

Algoritmo de Búsqueda

• BÚSQUEDA (NODO, INFOR)

• {El algoritmo localiza un nodo en un árbol binario de búsqueda. NODO es una variable de tipo

puntero que apunta a la raíz del árbol. INFOR es una variable que contiene la información que se

desea localizar en el árbol. Cabe aclarar que la primera vez la variable NODO no puede ser vacía.}

• Si INFOR < NODO^.INFO entonces

• Si NODO^.IZQ = NILL entonces

• Escribir “El nodo no se encuentra en el árbol”

• Sino

Page 2: Tarea

• BÚSQUEDA (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

• BÚSQUEDA (NODO^.DER, INFOR) {Llamada recursiva}

• Fin Si

• Sino

• Escribir “El nodo se encuentra en el árbol”

• Fin Si

• Fin Si

• Fin del algoritmo