1 / 13

ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS

ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS. ABB´s BALANCEADOS POR PESO. Balance perfecto Para cada nodo, el número de nodos del subárbol izquierdo y el número de nodos del subárbol derecho difieren como máximo en 1 unidad Con balance perfecto Sin balance perfecto.

yukio
Télécharger la présentation

ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS

  2. ABB´s BALANCEADOS POR PESO • Balance perfecto • Para cada nodo, el número de nodos del subárbol izquierdo y el número de nodos del subárbol derecho difieren como máximo en 1 unidad Con balance perfecto Sin balance perfecto

  3. ABB´s BALANCEADOS POR ALTURA • ABB AVL • Para cada uno de sus nodos, las alturas de sus subárboles izquierdo y derecho difieren como máximo en 1 unidad ABB AVL: ABB no AVL: • AVL • Adelson-Velskii & Landis • Formulación menos estricta y costosa que el balance perfecto • {ABB’s balanceados por peso}  {ABB’s AVL}

  4. ABB´s AVL • Características de los AVL • Rebalanceado sencillo y eficiente • Longitud del camino medio de búsqueda similar a la de los árboles perfectamente balanceados • Búsqueda-inserción-eliminación en AVL de n nodos O(log n) • AVL mínimo • Un AVL de altura h con el mínimo número de nodos se genera de manera similar a los números de Fibonacci • Árbol de Fibonacci (AF): • El árbol vacío es el AF de altura 0 (T0) • Un único nodo es el AF de altura 1 (T1) • Si, Th-1 y Th-2 son los AF de alturas h-1 y h-2, respectivamente, entonces Th ::= < Th-1, R, Th-2 > es el AF de altura h

  5. ABB AVL DE FIBONACCI

  6. INSERCIÓN EN ABB´s AVL • La búsqueda en un AVL, por ser una operación pasiva, no difiere de la búsqueda en un ABB • En un árbol AVL de altura h y subárboles izquierdo L y derecho R, al insertar un nuevo nodo, por ejemplo en L y suponiendo que su altura aumenta, hay que distinguir tres situaciones: • hL = hR hL’  hR = 1 (se mantiene el criterio AVL) • hL < hR hL’  hR = 0 (se mejora el criterio AVL) • hL > hR hL’  hR = 2 (se altera el criterio AVL)

  7. INSERCIÓN EN ABB´s AVL • La inserción de un nuevo nodo, que afecte el criterio AVL, también puede acontecer en el subárbol derecho R • Si tal inserción ocurre en el subárbol izquierdo de L o en el subárbol derecho de R, se deberá aplicar una Rotación Simple (S) • En cambio, si esa inserción ocurre en el subárbol derecho de L o en el subárbol izquierdo de R, se deberá aplicar una Rotación Doble (D)

  8. ROTACIONES EN ABB´s AVL • Sin embargo, existe un subclasificación para las rotaciones simple y doble • Una Rotación Simple (S) puede ser Positiva (S+), si es en el sentido del movimiento de las agujas del reloj, ó Negativa (S-), en caso contrario • Una Rotación Doble (D) también puede ser Positiva (D+), ó Negativa (D-)

  9. ROTACIONES EN ABB´s AVL • En un árbol AVL T, con subárboles izquierdo L y derecho R, una Rotación Doble sobre T es equivalente a dos rotaciones simples en sentido opuesto: la primera sobre un subárbol (L ó R) y la segunda sobre T, es decir, • D+(T) = S-(L) + S+(T) • D-(T) = S+(R) + S-(T)

  10. ROTACIONES EN ABB´s AVL • Rotación Simple Positiva (S+) • Rotación Simple Negativa (S-)

  11. ROTACIONES EN ABB´s AVL • Rotación Doble Positiva (D+)

  12. ROTACIONES EN ABB´s AVL • Rotación Doble Negativa (D-)

  13. ELIMINACIÓN EN ABB´s AVL • El proceso de eliminación de un nodo en un árbol AVL contempla las siguientes instancias: • Eliminar según el criterio definido para ABB’s • Rebalancear si es necesario http://www.csi.uottawa.ca/~stan/csi2514/applets/avl/BT.html

More Related