10`11`2019 - Heineken97/Portafolio GitHub Wiki
Clase 21
Se ve la insercion en un arbol AVL Repaso de rotacion sencilla o una doble
Casos de insercion de desbalanceo
Simples
Left - Left :
n.left = n1.right;
n1.right = n;
n = n1;
Right - Right :
n.right= n1.left;
n1.left = n;
n = n1;
Dobles
Right - Lef
n1.left = n2.right;
n2.right = n1;
n.right= n1.left;
n1.left = n;
n = n1;
Arboles Splay
Es una implementacion eficiente de arbol binario, que mejora la velocidad de busqueda. Cuando se busca un nodo en el splay mueve el nodo a la raiz. Los elementos que son muy visitados se encuentran cerca de la raiz
Rotaciones
Zig simple:
- Cuando el padre del nodo es la raiz: La misma rotacion simple del AVL
Zig-Zag
- X(hijo), Y(padre), V(abuelo): Misma rotacion doble de AVL. Y es hijo izq y X es un hijo der
Operaciones
Insertar
El nodo insertado se rota para que sea la raiz
Buscar
Si el nodo se encuentra, este pasa a ser la raiz. Si no se encuentra, el ultimo nodo preguntado pasa a ser la raiz
Find Min
Al encontrar el min, este pasa e ser la raiz
Delete Min
Aplica Find Min Y el .derecha se vuelve raiz
Delete
El nodo a eliminar va a la raiz, eliminar la raiz, quedan dos subarboles R L. Hacer Find Max a L, pero sin eliminar el Max La nueva raiz de L en su .right va ser R Se aplica lo mismo pero con R y con Find Min.