Вы находитесь на странице: 1из 4

Algoritmos de Bsqueda de rboles

El rbol binario de bsqueda es una estructura sobre la cual se pueden realizar eficientemente las operaciones de bsqueda, insercin y eliminacin.

Bsqueda (nodo, valor)


Algoritmo Si nodo <> Nil Entonces Si valor < nodo info. Entonces Bsqueda (nodo izq., valor) Sino Si valor > nodo info. Entonces Bsqueda (nodo der., valor) Sino escribir (nodo existe) Fin Fin Sino escribir (Nodo no se encuentra en el rbol) Fin.

Insercin (nodo, valor)


Algoritmo Si nodo <> Nil Entonces Si valor < nodo info. Entonces Insercin (nodo izq., valor) Sino Si valor > nodo info. Entonces Insercin (nodo der., valor) Sino escribir (nodo existe) Fin Fin Sino { crear (nuevo nodo) Hacer nuevo nodo izq. = Nil; Hacer nuevo nodo der. = Nil; Nuevo nodo info. = valor; Nodo = nuevo nodo} Fin. Eliminacin en un rbol binario de bsqueda Se debe distinguir los siguientes casos: Si el nodo a borrar es terminal u hoja simplemente se suprime. Si el nodo a borrar tiene un solo descendiente, entonces tiene que sustituirse por ese descendiente. Si el nodo a borrar tiene los dos descendientes entonces se tiene que sustituir por el nodo que se encuentra ms a la izquierda en el subrbol derecho o por el nodo que se encuentra ms a la derecha en el subrbol izquierdo.

Algoritmo Eliminacin (nodo, info)


Si nodo <> Nil Entonces Si infor < nodo info. Entonces Eliminacin (nodo izq, infor) Sino Si infor > nodo info Entonces Eliminacin (nodo der, infor) Sino hacer otro nodo Si otro der = NULL Entonces hacer nodo otro izq Sino Si otro izq = NULL Entonces hacer nodo otro der Sino hacer Aux otro izq Y Aux1 Aux Repetir mientras Aux der <> NULL Hacer Aux1 Aux y Aux Aux der Fin. Hacer otro info Aux info otro aux Y Aux1 der Aux izq Fin (condicional) Fin (condicional) Fin (condicional) Fin (condicional) Quita (otro) {libera la memoria del nodo} Sino escribir (el nodo no se encuentra en el rbol) Fin

Tipos de rboles
rbol ordenado Es aquel en el que las ramas de los nodos estn ordenadas. o o Los de grado 2 se llaman rboles binarios. Cada rbol binario tiene un subrbol izquierda y subrbol derecha.
+

A B C /

^ 3.5 D

rboles de expresin

Representan un orden de ejecucin


9

*
* + B A

rboles similares: o Los que tienen la misma estructura (forma)

i 5 g 2

a 1

(
f e b

rboles Equivalentes: o Son los rboles similares y sus nodos contienen la misma informacin.

rboles n-ario: o Es un rbol ordenado cuyos nodos tiene N subrboles, y donde cualquier nmero de subrboles puede ser rboles vacos

rbol binario completo: o Es un rbol en el que todos sus nodos, excepto los del ltimo nivel, tienen dos hijos.

Nmero de nodos en un rbol binario completo = 2h 1 (en el ejemplo h = 4, 15) esto nos ayuda a calcular el nivel de rbol necesario para almacenar los datos de una aplicacin.