You are on page 1of 3

BALANCEO DE RBOLES BINARIOS

Un rbol: es una estructura no lineal y dinmica de datos. Dinmica: puede cambiar durante la ejecucin de un programa. No lineal: a cada elemento del rbol pueden seguirle varios elementos. Estn formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos. Un rbol binario es o bien vaco o consta de una raz, un hijo rbol binario izquierdo y otro derecho. Los rboles binarios de bsqueda permiten inserciones y acceso a los elementos en tiempo logartmico. Los rboles binarios llamados colas con prioridad soportan acceso y eliminacin del mnimo de una coleccin de elementos.

TAD rbol Binario


Llamamos rbol binario a un grafo dirigido decorado con etiquetas E= {Derecho, Izquierdo} que cumple:

su vista no dirigida es un rbol todo vrtice tiene grado de salida a lo sumo 2 y grado de entrada a lo sumo 1. todo vrtice adyacente a un vrtice inicial x, est marcado bien como hijo izquierdo o bien como hijo. derecho

Un rbol binario tiene un vrtice con grado de entrada 0 al que llamamos raz. A los vrtices con grado de salida 0 los llamamos hojas. Para representar rboles binarios en un programa puede emplearse un TAD

para un rbol vaco ABvacio y para un rbol con un posible hijo derecho y/o un posible hijo izquierdo ABcons

Y con selectoras:
izq que retorna el hijo izquierdo de un vrtice, der que retorna el hijo derecho, raz que retorna la identificacin del vrtice raz esVacio que decide si un rbol es vaco.

del rbol.

rboles binarios perfectamente equilibrados


La eficiencia de las operaciones depende exclusivamente de la altura del rbol. Para un rbol de N nodos perfectamente equilibrado el coste de acceso es de orden logartmico: O(log N). Sin embargo, se dice que si el rbol crece o decrece

descontroladamente, el rendimiento puede disminuir considerablemente, siendo para el caso ms desfavorable (insertar un conjunto de claves ordenadas en forma ascendente o descendente) el coste de acceso: O(N). En un rbol binario perfectamente equilibrado, el nmero de nodos en el subrbol izquierdo y el nmero de nodos en el subrbol derecho, difieren como mucho en una unidad, y los subrboles son tambin equilibrados

rboles equilibrados
Un procedimiento de insercin que siempre restaure la estructura del rbol a un equilibrio perfecto es poco eficiente. Se usa una formulacin menos estricta de equilibrio: Un rbol est equilibrado si para cada uno de sus nodos ocurre que las alturas de sus dos subrboles difieren como mucho en 1(rboles AVL).

rboles rojinegros
rbol binario de bsqueda, donde cada nodo est coloreado con los colores rojo o negro, y se verifican las siguientes propiedades: 1. La raz es negra. 2. Si un nodo es rojo, sus hijos deben ser negros. 3. Todos los caminos desde un nodo a un nodo vaco deben contener el mismo nmero de nodos negros. Las condiciones (2) y (3) aseguran que el rbol nunca est demasiado desbalanceado. (2) asegura que no puedan haber demasiados nodos rojos, y (3) dice que, despreciando el nmero de nodos rojos, que es limitado, el rbol es perfectamente balanceado. La condicin (1) es trivial: si la raz es roja, simplemente se colorea negra, ya que esto no violar ninguna regla. En los ARN la operacin eliminar se complica. Cuando se necesitan rboles equilibrados y se requieren muchas eliminaciones se emplean los AA-rboles que aaden una condicin adicional a las impuestas por los ARN: 4. Los hijos izquierdos no pueden ser rojos.

rboles AVL: binarios, ordenados y balanceados


Un rbol binario ordenado podra tener todos sus elementos en un sendero iniciado en la raz y terminado en una nica hoja, en tal caso buscar el menor elemento se realizar en tiempo proporcional al orden del rbol. Para evitar situaciones como esta pueden agregarse condiciones al invariante de rbol binario ordenado, para mantener un rbol mejor distribuido, o en otras palabras un rbol balanceado:

No hay vrtices repetidos En todo vrtice la altura del subrbol izquierdo (digamos altura(i)) y la altura del rbol derecho (digamos altura(d)) deben cumplir: Altura (i)=altura (d altura (i)=altura (d altura (i)+1=altura (d)

Si se logra mantener este invariante toda bsqueda se realizar con complejidad temporal O(log2 n) ---que es la complejidad temporal ptima para el problema de bsqueda. Para lograr mantenerlo deben implementarse con atencin las operaciones para insertar y eliminar elementos. Dado que estas operaciones deben mantener un invariante que requiere conocer altura de subrbol derecho e izquierdo, puede mantenerse esta informacin actualizada en los vrtices del rbol (lo cual puede disminuir tiempo requerido para calcular la altura cuando se hace el balanceo, pero aumentar espacio empleado para mantener la informacin).

RBOL BINARIO DE BSQUEDA


El rbol binario de bsqueda (ABB) toma su nombre del mtodo de bsqueda dicotmico visto para listas ordenadas, que usaba un array para mantener un conjunto de items (nmero de items limitado, y operaciones de insercin y borrado de elementos costosas). Una implementacin dinmica sera muy ineficiente. Otra solucin consistira en utilizar un rbol para mantener la informacin ordenada, con operaciones de insercin y extraccin muy eficientes. La insercin de los nmeros 46, 35, 74, 39, 42, 49, 23, 73, 80 y 96 produce: La localizacin de un valor en el rbol se realizar recorriendo el rbol, y tomando el rbol derecho o el izquierdo dependiendo de que el valor buscado sea mayor o menor que el de la raz del rbol, respectivamente. Esto nos permite mantener la eficiencia y flexibilidad de una implementacin dinmica con rdenes de complejidad para la bsqueda similares a los de la implementacin esttica con elementos ordenados. Sin embargo, no todos los rboles binarios mantienen esta eficiencia; dependiendo de la forma en que se realice la insercin de los elementos obtendremos representaciones muy dispares. En general, todo rbol binario con n nodos tiene una altura mxima de n y una mnima de jlg2(n+1)k. Esto es fcil de probar, bien mediante las propiedades triviales de los rboles o directamente por induccin sobre n. As pues debemos anticipar que el hecho de tener un ABB no es suficiente para asegurar un tiempo de bsqueda ptimo; el rbol debe tener adems una altura mnima para asegurar que el camino ms largo desde la raz es tan corto como sea posible.

You might also like