Árboles avl por jorge riera ledesma [email protected] departamento de estadística, investigación...
TRANSCRIPT
![Page 1: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/1.jpg)
Árboles AVLpor
Jorge Riera Ledesma
http://webpages.ull.es/users/jriera
Departamento de Estadística, Investigación Operativa
Y Computación
Universidad de La Laguna
Árboles AVL: Metodología y Tecnología de la Programación II
![Page 2: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/2.jpg)
Sumario:
Referencias Bibliográficas.
Introducción.
Definición de equilibrio.
Rotaciones.
Operaciones en árboles AVL.
Inserción.
Eliminación.
Árboles AVL: Metodología y Tecnología de la Programación II
![Page 3: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/3.jpg)
Referencias Bibliográficas
Cormen, Leiserson, Rivest, Stein Introduction to Algorithms,
MIT Press, 1990
Niklaus Wirth
Algorithms + Data Structures = Programs
Prentice-Hall Series in Automatic Computation 1985
Árboles AVL: Metodología y Tecnología de la Programación II
![Page 4: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/4.jpg)
Introducción
Definición de equilibrio por Adelson-Velskii y Landis (AVL):
“Un árbol está equilibrado si, y sólo si, para cada uno de sus nodos ocurre que las alturas de sus dos subárboles difiere como
mucho en 1”
Características:
Procedimiento de reequilibrado sencillo
Longitud del camino prácticamente idéntica al equilibrado
Se puede realizar las siguientes operaciones en O(log n)
Encontrar un nodo con una clave dada.
Insertar un nodo con clave dada.
Borrar un nodo con clave dada.
Árboles AVL: Metodología y Tecnología de la Programación II
![Page 5: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/5.jpg)
Inserción en Árboles Equilibrados I
Inserción sin aumento de la altura
Árboles AVL: Metodología y Tecnología de la Programación II
![Page 6: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/6.jpg)
Inserción en Árboles Equilibrados II
Inserción con aumento de la altura
Dada una raíz con subárboles izquierdo y derecho I y D. Supóngase que el nuevo nodo se inserta en I haciendo que su alltura aumente en 1.
Contemplamos tres casos:
Árboles AVL: Metodología y Tecnología de la Programación II
R
I D
R
ID
R
ID
1.- hI=hD: 2.- hI<hD: 3.- hI>hD:
![Page 7: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/7.jpg)
Inserción en Árboles Equilibrados III
Árboles AVL: Metodología y Tecnología de la Programación II
8
4 10
2 6
311 59 1
![Page 8: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/8.jpg)
Inserción en Árboles Equilibrados IV
Árboles AVL: Metodología y Tecnología de la Programación II
8
4 10
2 6
51
8
4 10
2 6
B
A
C
A
B
![Page 9: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/9.jpg)
Inserción en Árboles Equilibrados V
Árboles AVL: Metodología y Tecnología de la Programación II
B
A B
A
![Page 10: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/10.jpg)
Inserción en Árboles Equilibrados VI
Árboles AVL: Metodología y Tecnología de la Programación II
C
A
B
CA
B
![Page 11: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/11.jpg)
Rotaciones
Árboles AVL: Metodología y Tecnología de la Programación II
B
A B
A
Rotación Simple (Izquierda Izquierda)
B
A
p1:=p^.izquierdo;p^.izquierdo:=p1^.derecho;p1^derecho:=p;p:=p1;
p1
![Page 12: Árboles AVL por Jorge Riera Ledesma jriera@ull.es Departamento de Estadística, Investigación Operativa Y Computación](https://reader036.vdocumento.com/reader036/viewer/2022082518/5665b4681a28abb57c91492e/html5/thumbnails/12.jpg)
Rotaciones
Árboles AVL: Metodología y Tecnología de la Programación II
C
A
B CA
B
Rotación Doble (Derecha Izquierda)
1
2
RotarDerecha ARotarIzquierda C