SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Instituto Tecnológico de Costa Rica
Escuela de Computación
Curso de Estructuras de Datos

Árboles Splays
Estudiantes:
Randall Araya
Diego Delgado
Víctor Saborío
Bryan Serracín

Daniel Solís
2013
¿Qué son los árboles splay?
Definición
Es un árbol binario de búsqueda con la propiedad de

ser auto balanceable, además, los elemento recién
visitados, se accederán más rápido en próximas

consultas.
Acerca de los árboles.
Los árboles splay, fueron creados por: Robert Tarjan y Daniel Sleator.
La operación de biselación, se lleva a cabo mediante la reorganización del árbol
para cada cierto elemento, colocándolo en la raíz.
Éstos árboles son más simples de implementar que otros árboles binarios de
búsqueda auto balanceables.

Los árboles splay, funcionan de forma correcta aunque existan nodos con llaves
repetidas.
Inserción en un Árbol Splay
La inserción en este tipo de árbol es igual a la inserción en un
árbol binario de búsqueda.
Luego de la inserción se ejecuta la Biselación de ese nodo.
Inserción:
Para la inserción de un nuevo valor en el árbol binario de búsqueda se
deben considerar los siguientes aspectos.
La primera inserción en el árbol es conocida como la raíz pero esta va a

ser modificada por la Operación Biselación, otra forma de identificar la
raíz del árbol es que el nodo no tiene un nodo padre.
A la hora de la inserción se hace una comparación con el entre el nodo
padre y el nodo a insertar para evaluar su inserción.
A la hora de la inserción se hace una comparación con el nodo que ya esta en el
árbol para evaluar y dirigir hacia que lado del árbol se da la inserción hasta llegar a
insertarse en uno de los nodos hijos sean mayores o menores vacíos

Insertar: 5
5

Raíz

4

4

5

4<5
entonces se
inserta al a
derecha por la
regla de
inserción

Luego se ejecuta la operación de
Biselación

5

4

Nueva Raíz
Insertar: 2
2

5
5

2 < 5 entonces se inserta a la
izquierda por la regla de
inserción, pero su hijo izquierdo
ya esta ocupado así que se
consulta a su hijo para
insertarlo debajo de él siendo el
su padre

4
4
2

2 < 4 entonces se
inserta al a
izquierda por la
regla de inserción
Luego se ejecuta la operación de Biselación
Operación de Biselación
4
2

Nueva Raíz

Luego se ejecuta de nuevo la operación de
Biselación para el reacomodo del árbol
hasta que e ultimo valor insertado sea la
nueva raíz

5

2

4
5
Método eliminación Árbol Splay
Para el diseño de eliminación existen dos posibilidades

Proceder como en árbol binario de búsqueda, y no emplear operaciones splay,
considerando que si algo se borra, no significa que se intentará buscar en la
proximidad del elemento borrado.
Si lo busca y no lo encuentra efectúa una operación splay con el padre del buscado.
Si lo encuentra, efectúa operación splay sobre el nodo, dejándolo en la raíz. Luego
efectúa una operación splay con el nodo con mayor clave en el subárbol izquierdo; a
continuación se descarta la raíz; y finalmente se enlaza el subárbol derecho con el
subárbol izquierdo.


Por ejemplo, eliminar 4.

4

7
6

5

1

2
1

4

3

2

6
3

5

7


Continuación eliminar 4.

3

2

3

Liberar Raíz

4

2

6

5

7

1

6

5

1
Join izquierda y derecha

7
En el ejemplo anterior, la operación eliminar 4, ubica el nodo
con valor 4, y lo lleva a la raíz. Luego se efectúa Splay 3, se
descarta el nodo con valor 4, y se efectúa la unión de dos
subárboles (join).
 Ejemplo

2, eliminar 6

3

4

1

6

2

5

7

8
6

4
3

1

7
8

5

Splay 5
2
Liberar Raíz

6
5
4
3

1

2

7

8
5

4

7

8

3
Join izquierda y derecha

1
2
Búsqueda en Árbol Splay
Proceso de búsqueda
Para buscar una llave en un árbol splay, se realiza de la misma forma en que se busca
en los árboles binarios de búsqueda, pero con una serie de cambio en la estructura.
Proceso de búsqueda
Dentro de los cambio básicos, se encuentra:
Al momento de encontrar la llave por eliminar, el nodo del árbol, se bisela.
Si no se encuentra la llave, se bisela el último nodo que fue visitado, antes de descartar
la búsqueda.

Con esto, la raíz contendrá un sucesor o predecesor del nodo buscado.
Operación de biselación

Biselación: consiste en subir un nodo hasta que
este llegue a ser la raíz. Esto se realiza con

rotaciones simples y dobles.
¿Cuándo y a que nodo se realiza la
biselación?
Se sigue el mismo algoritmo de, búsqueda, eliminación
e inserción que de árbol binario de búsqueda, pero el
nodo que se insertó, buscó o el mayor hijo izquierdo
del nodo eliminado será biselado.
Caso 1
(aplicando biselación al 4)

El 4 es hijo izquierdo de 9, por lo que aplicamos rotación
simple a la derecha a 9 (al “padre”). Recordar que la
biselación consiste en que ese número llegue a ser la raíz.
Caso 1
(aplicando biselación al 17)

El 17 es hijo derecho de 15, por lo que le aplicamos
rotación simple a la izquierda a 15 (al “ padre”).
Caso 2
(aplicando biselación al 17)
El 17 es hijo derecho de 15 y nieto derecho de 9, por lo
que aplicamos rotación doble a la izquierda, es decir,
rotación simple izquierda a 9 (al “abuelo”) y luego
rotación simple izquierda a 15 (“al padre”).
Caso 2
(aplicando biselación al 9)
El 9 es hijo izquierdo de 15 y nieto izquierdo de 17, por
lo que aplicamos rotación doble a la derecha, es
decir, rotación simple derecha a 17 (al “abuelo”) y
luego rotación simple derecha a 15 (“al padre”).
Caso 3
(aplicando biselación al 18)
El 18 es hijo izquierdo de 20 y nieto derecho de 14, por
lo que aplicamos rotación simple derecha izquierda,
es decir, rotación simple derecha a 20 (al “padre”) y
luego rotación simple izquierda a 14 (“al abuelo”).
Caso 3
(aplicando biselación al 18)
El 18 es hijo derecho de 14 y nieto izquierdo de 20, por
lo que aplicamos rotación simple izquierda derecha ,
es decir, rotación simple izquierda a 14 (al “padre”) y
luego rotación simple derecha a 20 (“al abuelo”).
Teoremas de
rendimiento:
•

T EO R E M A D E L BA L A N C E

•

•

T EO R E M A D E O PT I M A L I DA D ES TÁT I C A •

•

T EO R E M A “ S TAT I C F I N G E R ”

T EO R E M A “ WO R K I N G S E T ”
T EO R E M A “ DY N A M I C F I N G E R ”
Teorema del balance
O(m log(n) + n log(n)).
Una secuencia de “m” operaciones Splay en un arbol de n nodos tiene una complejidad

temporal:
O(m log(n) + n log(n)).

En general cuando una secuencia de M operaciones toma tiempo O(M f(N)), se dice que
el costo Amortizado en tiempo de cada operación es O(f(N)). Por lo tanto, en un splay
tree los costos amortizados por operacion son de O(log(N)).
Teorema de optimalidad estática
Sea “q” el número de veces que se accede al elemento “i” en S.

En otras palabras, los árboles biselados se comportan tan bien como los árboles
binarios de búsqueda estáticos óptimos en las secuencias de al menos n accesos.
Teorema de “Static Finger”
Suponemos siempre que la búsqueda de un elemento comienza desde el nodo raíz. El
elemento donde comenzamos búsqueda cambia cada vez que un elemento diferente
llega al nodo raíz.
Suponga que dieron un puntero a un elemento y comenzar la búsqueda de ella cada vez

que llega una consulta.
Sea i-j el elemento visitado en el e-esimo acceso de S y f sea un element fijo, el costo de
realizer esta secuencia de accesos seria de:
Teorema “Working Set”
Sea t(j) el numero de elementos distintos accedidos desde la ultima vez que

se accedió a J antes del instante i.
supongamos que J es buscado en la t-esima operación. T(j) denota el numero
de elementos distintos buscados desde la ultima búsqueda de J, por ejemplo

la secuencia 7,9,5,6,4,3,2,4,3,5, y si
teorema explica que:

intentamos buscar T(10)(5) es 4. el
Teorema Dynamic finger
Supongamos que el tamaño (r) es el número de nodos en el subárbol
con raíz en r (incluyendo r) y el rango (r) = log2 (tamaño (r)). A
continuación, la función potencial de P (t) para un árbol de splay t es la
suma de los rangos de todos los nodos en el árbol. Esto tiende a ser alto
para los árboles mal equilibrados y bajo en los árboles equilibrados.

Contenu connexe

Tendances (20)

Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Arbol b ASIRB
Arbol b ASIRBArbol b ASIRB
Arbol b ASIRB
 
Quicksort
QuicksortQuicksort
Quicksort
 
linked list
linked listlinked list
linked list
 
Queue
QueueQueue
Queue
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
 
Algoritmos de ordenamiento externos
Algoritmos de ordenamiento externosAlgoritmos de ordenamiento externos
Algoritmos de ordenamiento externos
 
Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas Enlazadas
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Colas
ColasColas
Colas
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Insertion Sort Algorithm
Insertion Sort AlgorithmInsertion Sort Algorithm
Insertion Sort Algorithm
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Notes DATA STRUCTURE - queue
Notes DATA STRUCTURE - queueNotes DATA STRUCTURE - queue
Notes DATA STRUCTURE - queue
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Listas
ListasListas
Listas
 

Similaire à Árboles splay (20)

Arboles Splay
Arboles SplayArboles Splay
Arboles Splay
 
Structures project
Structures projectStructures project
Structures project
 
Structures project
Structures projectStructures project
Structures project
 
Abb árboles de búsqueda binaria
Abb árboles de búsqueda binariaAbb árboles de búsqueda binaria
Abb árboles de búsqueda binaria
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.ppt
 
Arboles
ArbolesArboles
Arboles
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Arbol en programación ALAN MENDEZ.pdf
Arbol en programación ALAN MENDEZ.pdfArbol en programación ALAN MENDEZ.pdf
Arbol en programación ALAN MENDEZ.pdf
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
1 árbol
1 árbol1 árbol
1 árbol
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Qué son las colas de prioridad
Qué son las colas de prioridadQué son las colas de prioridad
Qué son las colas de prioridad
 
Splay tree
Splay treeSplay tree
Splay tree
 
Colas de prioridad
Colas de prioridadColas de prioridad
Colas de prioridad
 
Actividad7
Actividad7Actividad7
Actividad7
 
Operaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesOperaciones Básicas con Árboles
Operaciones Básicas con Árboles
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Trees
TreesTrees
Trees
 
Arboles
ArbolesArboles
Arboles
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 

Dernier

Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 

Dernier (20)

Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 

Árboles splay

  • 1. Instituto Tecnológico de Costa Rica Escuela de Computación Curso de Estructuras de Datos Árboles Splays Estudiantes: Randall Araya Diego Delgado Víctor Saborío Bryan Serracín Daniel Solís 2013
  • 2. ¿Qué son los árboles splay?
  • 3. Definición Es un árbol binario de búsqueda con la propiedad de ser auto balanceable, además, los elemento recién visitados, se accederán más rápido en próximas consultas.
  • 4. Acerca de los árboles. Los árboles splay, fueron creados por: Robert Tarjan y Daniel Sleator. La operación de biselación, se lleva a cabo mediante la reorganización del árbol para cada cierto elemento, colocándolo en la raíz. Éstos árboles son más simples de implementar que otros árboles binarios de búsqueda auto balanceables. Los árboles splay, funcionan de forma correcta aunque existan nodos con llaves repetidas.
  • 5. Inserción en un Árbol Splay La inserción en este tipo de árbol es igual a la inserción en un árbol binario de búsqueda. Luego de la inserción se ejecuta la Biselación de ese nodo.
  • 6. Inserción: Para la inserción de un nuevo valor en el árbol binario de búsqueda se deben considerar los siguientes aspectos. La primera inserción en el árbol es conocida como la raíz pero esta va a ser modificada por la Operación Biselación, otra forma de identificar la raíz del árbol es que el nodo no tiene un nodo padre. A la hora de la inserción se hace una comparación con el entre el nodo padre y el nodo a insertar para evaluar su inserción.
  • 7. A la hora de la inserción se hace una comparación con el nodo que ya esta en el árbol para evaluar y dirigir hacia que lado del árbol se da la inserción hasta llegar a insertarse en uno de los nodos hijos sean mayores o menores vacíos Insertar: 5 5 Raíz 4 4 5 4<5 entonces se inserta al a derecha por la regla de inserción Luego se ejecuta la operación de Biselación 5 4 Nueva Raíz
  • 8. Insertar: 2 2 5 5 2 < 5 entonces se inserta a la izquierda por la regla de inserción, pero su hijo izquierdo ya esta ocupado así que se consulta a su hijo para insertarlo debajo de él siendo el su padre 4 4 2 2 < 4 entonces se inserta al a izquierda por la regla de inserción Luego se ejecuta la operación de Biselación
  • 9. Operación de Biselación 4 2 Nueva Raíz Luego se ejecuta de nuevo la operación de Biselación para el reacomodo del árbol hasta que e ultimo valor insertado sea la nueva raíz 5 2 4 5
  • 10. Método eliminación Árbol Splay Para el diseño de eliminación existen dos posibilidades Proceder como en árbol binario de búsqueda, y no emplear operaciones splay, considerando que si algo se borra, no significa que se intentará buscar en la proximidad del elemento borrado. Si lo busca y no lo encuentra efectúa una operación splay con el padre del buscado. Si lo encuentra, efectúa operación splay sobre el nodo, dejándolo en la raíz. Luego efectúa una operación splay con el nodo con mayor clave en el subárbol izquierdo; a continuación se descarta la raíz; y finalmente se enlaza el subárbol derecho con el subárbol izquierdo.
  • 11.  Por ejemplo, eliminar 4. 4 7 6 5 1 2 1 4 3 2 6 3 5 7
  • 12.  Continuación eliminar 4. 3 2 3 Liberar Raíz 4 2 6 5 7 1 6 5 1 Join izquierda y derecha 7
  • 13. En el ejemplo anterior, la operación eliminar 4, ubica el nodo con valor 4, y lo lleva a la raíz. Luego se efectúa Splay 3, se descarta el nodo con valor 4, y se efectúa la unión de dos subárboles (join).
  • 14.  Ejemplo 2, eliminar 6 3 4 1 6 2 5 7 8
  • 19. Proceso de búsqueda Para buscar una llave en un árbol splay, se realiza de la misma forma en que se busca en los árboles binarios de búsqueda, pero con una serie de cambio en la estructura.
  • 20. Proceso de búsqueda Dentro de los cambio básicos, se encuentra: Al momento de encontrar la llave por eliminar, el nodo del árbol, se bisela. Si no se encuentra la llave, se bisela el último nodo que fue visitado, antes de descartar la búsqueda. Con esto, la raíz contendrá un sucesor o predecesor del nodo buscado.
  • 21. Operación de biselación Biselación: consiste en subir un nodo hasta que este llegue a ser la raíz. Esto se realiza con rotaciones simples y dobles.
  • 22. ¿Cuándo y a que nodo se realiza la biselación? Se sigue el mismo algoritmo de, búsqueda, eliminación e inserción que de árbol binario de búsqueda, pero el nodo que se insertó, buscó o el mayor hijo izquierdo del nodo eliminado será biselado.
  • 23. Caso 1 (aplicando biselación al 4) El 4 es hijo izquierdo de 9, por lo que aplicamos rotación simple a la derecha a 9 (al “padre”). Recordar que la biselación consiste en que ese número llegue a ser la raíz.
  • 24. Caso 1 (aplicando biselación al 17) El 17 es hijo derecho de 15, por lo que le aplicamos rotación simple a la izquierda a 15 (al “ padre”).
  • 26. El 17 es hijo derecho de 15 y nieto derecho de 9, por lo que aplicamos rotación doble a la izquierda, es decir, rotación simple izquierda a 9 (al “abuelo”) y luego rotación simple izquierda a 15 (“al padre”).
  • 28. El 9 es hijo izquierdo de 15 y nieto izquierdo de 17, por lo que aplicamos rotación doble a la derecha, es decir, rotación simple derecha a 17 (al “abuelo”) y luego rotación simple derecha a 15 (“al padre”).
  • 30. El 18 es hijo izquierdo de 20 y nieto derecho de 14, por lo que aplicamos rotación simple derecha izquierda, es decir, rotación simple derecha a 20 (al “padre”) y luego rotación simple izquierda a 14 (“al abuelo”).
  • 32. El 18 es hijo derecho de 14 y nieto izquierdo de 20, por lo que aplicamos rotación simple izquierda derecha , es decir, rotación simple izquierda a 14 (al “padre”) y luego rotación simple derecha a 20 (“al abuelo”).
  • 33. Teoremas de rendimiento: • T EO R E M A D E L BA L A N C E • • T EO R E M A D E O PT I M A L I DA D ES TÁT I C A • • T EO R E M A “ S TAT I C F I N G E R ” T EO R E M A “ WO R K I N G S E T ” T EO R E M A “ DY N A M I C F I N G E R ”
  • 34. Teorema del balance O(m log(n) + n log(n)). Una secuencia de “m” operaciones Splay en un arbol de n nodos tiene una complejidad temporal: O(m log(n) + n log(n)). En general cuando una secuencia de M operaciones toma tiempo O(M f(N)), se dice que el costo Amortizado en tiempo de cada operación es O(f(N)). Por lo tanto, en un splay tree los costos amortizados por operacion son de O(log(N)).
  • 35. Teorema de optimalidad estática Sea “q” el número de veces que se accede al elemento “i” en S. En otras palabras, los árboles biselados se comportan tan bien como los árboles binarios de búsqueda estáticos óptimos en las secuencias de al menos n accesos.
  • 36. Teorema de “Static Finger” Suponemos siempre que la búsqueda de un elemento comienza desde el nodo raíz. El elemento donde comenzamos búsqueda cambia cada vez que un elemento diferente llega al nodo raíz. Suponga que dieron un puntero a un elemento y comenzar la búsqueda de ella cada vez que llega una consulta. Sea i-j el elemento visitado en el e-esimo acceso de S y f sea un element fijo, el costo de realizer esta secuencia de accesos seria de:
  • 37. Teorema “Working Set” Sea t(j) el numero de elementos distintos accedidos desde la ultima vez que se accedió a J antes del instante i. supongamos que J es buscado en la t-esima operación. T(j) denota el numero de elementos distintos buscados desde la ultima búsqueda de J, por ejemplo la secuencia 7,9,5,6,4,3,2,4,3,5, y si teorema explica que: intentamos buscar T(10)(5) es 4. el
  • 38. Teorema Dynamic finger Supongamos que el tamaño (r) es el número de nodos en el subárbol con raíz en r (incluyendo r) y el rango (r) = log2 (tamaño (r)). A continuación, la función potencial de P (t) para un árbol de splay t es la suma de los rangos de todos los nodos en el árbol. Esto tiende a ser alto para los árboles mal equilibrados y bajo en los árboles equilibrados.