SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
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.

Mais conteúdo relacionado

Mais procurados

Yzm 2116 Bölüm 9 - Heap Binary Tree
Yzm 2116   Bölüm 9 - Heap Binary TreeYzm 2116   Bölüm 9 - Heap Binary Tree
Yzm 2116 Bölüm 9 - Heap Binary TreeDeniz KILINÇ
 
Binary Search Tree (BST)
Binary Search Tree (BST)Binary Search Tree (BST)
Binary Search Tree (BST)M Sajid R
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operationsKamran Zafar
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search TreeINAM352782
 
B trees and_b__trees
B trees and_b__treesB trees and_b__trees
B trees and_b__treesmeghu123
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallAngel Vázquez Patiño
 
Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)
Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)
Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)Deniz KILINÇ
 
Arbol rojo y negro
Arbol rojo y negroArbol rojo y negro
Arbol rojo y negroJuan Bass
 
Binary search tree deletion
Binary search tree deletionBinary search tree deletion
Binary search tree deletionKousalya M
 
Lista Doblemente Enlazada
Lista Doblemente EnlazadaLista Doblemente Enlazada
Lista Doblemente Enlazadayordy Macoto
 

Mais procurados (20)

Yzm 2116 Bölüm 9 - Heap Binary Tree
Yzm 2116   Bölüm 9 - Heap Binary TreeYzm 2116   Bölüm 9 - Heap Binary Tree
Yzm 2116 Bölüm 9 - Heap Binary Tree
 
Listas
ListasListas
Listas
 
Árbol rojo-negro
Árbol rojo-negroÁrbol rojo-negro
Árbol rojo-negro
 
BINARY SEARCH TREE
BINARY SEARCH TREEBINARY SEARCH TREE
BINARY SEARCH TREE
 
Binary Search Tree (BST)
Binary Search Tree (BST)Binary Search Tree (BST)
Binary Search Tree (BST)
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operations
 
áRbol 2 3
áRbol 2 3áRbol 2 3
áRbol 2 3
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
B trees and_b__trees
B trees and_b__treesB trees and_b__trees
B trees and_b__trees
 
Método de Heapsort
Método de HeapsortMétodo de Heapsort
Método de Heapsort
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
 
Arbol Rojo y Negro
Arbol Rojo y NegroArbol Rojo y Negro
Arbol Rojo y Negro
 
Lista simple
Lista simpleLista simple
Lista simple
 
Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)
Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)
Yzm 2116 - Bölüm 4 (Stack, Yığın, Yığıt)
 
Indices tipo arbol b+
Indices tipo arbol b+Indices tipo arbol b+
Indices tipo arbol b+
 
Binary trees1
Binary trees1Binary trees1
Binary trees1
 
Arbol rojo y negro
Arbol rojo y negroArbol rojo y negro
Arbol rojo y negro
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Binary search tree deletion
Binary search tree deletionBinary search tree deletion
Binary search tree deletion
 
Lista Doblemente Enlazada
Lista Doblemente EnlazadaLista Doblemente Enlazada
Lista Doblemente Enlazada
 

Semelhante a Á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
 
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
 
Trees
TreesTrees
Trees
 
Arboles
ArbolesArboles
Arboles
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles
 
Algoritmos ordenación.pptx
Algoritmos ordenación.pptxAlgoritmos ordenación.pptx
Algoritmos ordenación.pptx
 

Último

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 

Último (20)

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.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.