BUSQUEDA DE ARBOLES BINARIOS
ÁRBOLES BINARIOS DE
BÚSQUEDA.
El árbol binario de búsqueda es una estructura sobre la
cual se pueden realizar eficientemente las operaciones
de búsqueda, inserción y eliminación.
Formalmente se define un árbol binario de búsqueda de
la siguiente manera: “Para todo nodo T del árbol debe
cumplirse que todos los valores de los nodos del
subárbol izquierdo de T deben ser menores o iguales al
valor del nodo T. De forma similar, todos los valores de
los nodos el subárbol derecho de T deben ser mayores o
iguales al valor del nodo T”
Observemos que si se efectúa un recorrido in-orden sobre el árbol de
búsqueda se obtendrá una clasificación de los nodos en forma ascendente.
El recorrido in-orden del árbol anterior produce el siguiente resultado:
22 43 56 65 87 93 99 120 130 135 140
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
• 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