0 calificaciones0% encontró este documento útil (0 votos)
77 vistas10 páginas
Este documento describe las rotaciones en árboles AVL, que son árboles binarios de búsqueda auto-balanceados. Explica las cuatro rotaciones posibles - rotación simple a la derecha, rotación simple a la izquierda, rotación doble a la derecha y rotación doble a la izquierda - y cómo se usan para reequilibrar el árbol después de inserciones o eliminaciones. También define formalmente la altura de un árbol, un árbol AVL y el factor de equilibrio. Finalmente, propone una práctica
Este documento describe las rotaciones en árboles AVL, que son árboles binarios de búsqueda auto-balanceados. Explica las cuatro rotaciones posibles - rotación simple a la derecha, rotación simple a la izquierda, rotación doble a la derecha y rotación doble a la izquierda - y cómo se usan para reequilibrar el árbol después de inserciones o eliminaciones. También define formalmente la altura de un árbol, un árbol AVL y el factor de equilibrio. Finalmente, propone una práctica
Este documento describe las rotaciones en árboles AVL, que son árboles binarios de búsqueda auto-balanceados. Explica las cuatro rotaciones posibles - rotación simple a la derecha, rotación simple a la izquierda, rotación doble a la derecha y rotación doble a la izquierda - y cómo se usan para reequilibrar el árbol después de inserciones o eliminaciones. También define formalmente la altura de un árbol, un árbol AVL y el factor de equilibrio. Finalmente, propone una práctica
Rotaciones de Nodos : Los reequilibrados se realizan mediante rotaciones, en el siguiente punto veremos cada caso, ahora vamos a ver las cuatro posibles rotaciones que podemos aplicar y son Simples y Dobles. Rotación simple a la derecha (SD):
Rotación simple a la izquierda (SI):
Rotación doble a la derecha (DD):
Rotación doble a la izquierda (DI):
AVL – Definición Formal: Definición del altura de un árbol Sea T un árbol binario de búsqueda y sean Ti y Td sus subárboles, su altura H(T), es: 0 si el árbol T está vacío 1 + max(H(Ti),H(Td)) si no lo está Definición de árbol AVL Sea T un árbol binario de búsqueda con Ti y Td siendo sus subárboles izquierdo y derecho respectivamente, tenemos que: Si T es vacío, es un árbol AVL Si T es un ABB no vacío, es AVL si (si y sólo si): Ti y Td son AVL y H(Ti) − H(Td) = − 1, 0 ó + 1 (factor de equilibrio) Rotación Simple a la Derecha: Se usará cuando el subárbol izquierdo de un nodo sea 2 unidades más alto que el derecho, es decir, cuando su FE sea de -2. Y además, la raíz del subárbol izquierdo tenga una FE de -1, es decir, que esté cargado a la izquierda. 1. Pasamos el subárbol derecho del nodo Q Arbol AVL Final como subárbol izquierdo de P. Esto mantiene el árbol como ABB, ya que todos los valores a la derecha de Q siguen estando a la izquierda de P. 2. El árbol P pasa a ser el subárbol derecho del nodo Q. 3. Ahora, el nodo Q pasa a tomar la posición del nodo P, es decir, hacemos que la entrada al árbol sea el nodo Q, en lugar del nodo P. Previamente, P puede que fuese un árbol completo o un subárbol de otro nodo de menor altura. Rotación Simple a la Izquierda: Se usará cuando el subárbol derecho de un nodo sea 2 unidades más alto que el izquierdo, es decir, cuando su FE sea de 2. Y además, la raíz del subárbol derecho tenga una FE de 1, es decir, que esté cargado a la derecha. 1. Pasamos el subárbol izquierdo del nodo Q Arbol AVL Final como subárbol derecho de P. Esto mantiene el árbol como ABB, ya que todos los valores a la izquierda de Q siguen estando a la derecha de P. 2. El árbol P pasa a ser el subárbol izquierdo del nodo Q. 3. Ahora, el nodo Q pasa a tomar la posición del nodo P, es decir, hacemos que la entrada al árbol sea el nodo Q, en lugar del nodo P. Previamente, P puede que fuese un árbol completo o un subárbol de otro nodo de menor altura. Rotación Doble a la Derecha: Se usará cuando el subárbol izquierdo de un nodo sea 2 unidades más alto que el derecho, es decir, cuando su FE sea de -2. Y además, la raíz del subárbol izquierdo tenga una FE de 1, es decir, que esté cargado a la derecha.
Arbol AVL Final
4. Haremos una rotación simple de Q a la
izquierda. 5. Después, haremos una rotación simple de P a la derecha. Rotación Doble a la Izquierda: Se usará cuando el subárbol derecho de un nodo sea 2 unidades más alto que el izquierdo, es decir, cuando su FE sea de 2. Y además, la raíz del subárbol derecho tenga una FE de -1, es decir, que esté cargado a la izquierda. Se trata del caso simétrico del anterior. Árbol AVL Final
4. Haremos una rotación simple de Q a la
derecha. 5. Después, haremos una rotación simple de P a la izquierda. Practica 2: 1. Realice una definición para el ADT Nodo para de un ADT árbol AVL. 2. Realice la definición del ADT árbol AVL. 3. Implemente el procedimiento para obtener la altura de un árbol. 4. Implemente el procedimiento para calcular FE (Factor de Equilibrio del árbol) ¿Ahora a Trabajar? INF-310 Estructura de Datos II