SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
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
4
5
5
4
4 < 5
entonces se
inserta al a
derecha por la
regla de
inserción
Luego se ejecuta la operación de
Biselación
Raíz
5
4
Nueva Raíz
Insertar: 2
5
4
2
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
5
4
2 < 4 entonces se
inserta al a
izquierda por la
regla de inserción2
Luego se ejecuta la operación de Biselación
5
4
2
2
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
4
5
Nueva Raíz
Operación de Biselación
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.
6
5
1
2
4
3
7 4
1
2
3 5
6
7
 Continuación eliminar 4.
5
6
1
2
3
7
4
75
6
1
2
3Liberar Raíz
Join izquierda y derecha
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
8
2
75
6
41
3
5
2
1
83
4 7
6
Splay 5
1
2
3
84
5
7
6 Liberar Raíz
2
8
1
3
4 7
5
Join izquierda y derecha
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:
• TEOREMA DEL BALANCE
• TEOREMA DE OPTIMALIDAD ESTÁTICA
• TEOREMA “STATIC FINGER”
• TEOREMA “WORKING SET”
• TEOREMA “DYNAMIC FINGER”
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 intentamos buscar T(10)(5) es 4. el
teorema explica que:
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.

Más contenido relacionado

Destacado (20)

TRASMITIR LA FE Cc 06
TRASMITIR LA FE Cc 06TRASMITIR LA FE Cc 06
TRASMITIR LA FE Cc 06
 
Periodismo digital
Periodismo digital Periodismo digital
Periodismo digital
 
Abecedario ebdv 2014
Abecedario ebdv 2014Abecedario ebdv 2014
Abecedario ebdv 2014
 
El docente tutor virtual.pptx jaime escobar
El docente tutor virtual.pptx jaime escobarEl docente tutor virtual.pptx jaime escobar
El docente tutor virtual.pptx jaime escobar
 
Presentación animales vertebrados.
Presentación animales vertebrados.Presentación animales vertebrados.
Presentación animales vertebrados.
 
Foros de intercambio y debate paty flores
Foros de  intercambio y debate paty floresForos de  intercambio y debate paty flores
Foros de intercambio y debate paty flores
 
Práctica 1
Práctica 1Práctica 1
Práctica 1
 
El internet
El internetEl internet
El internet
 
Pavayoc 2015
Pavayoc   2015Pavayoc   2015
Pavayoc 2015
 
Practica. 17
Practica. 17Practica. 17
Practica. 17
 
Actividad n°3
Actividad n°3Actividad n°3
Actividad n°3
 
Informe de brünner.
Informe de brünner.Informe de brünner.
Informe de brünner.
 
Silabo diseño grafico 1 (1)
Silabo diseño grafico 1 (1)Silabo diseño grafico 1 (1)
Silabo diseño grafico 1 (1)
 
Encuentro en la montaña
Encuentro en la montañaEncuentro en la montaña
Encuentro en la montaña
 
Un padre de familia
Un padre de familiaUn padre de familia
Un padre de familia
 
Actividad de animación a la lectura
Actividad de animación a la lecturaActividad de animación a la lectura
Actividad de animación a la lectura
 
Expo contaminacion del agua
Expo contaminacion del aguaExpo contaminacion del agua
Expo contaminacion del agua
 
Proyección de herramientas
Proyección de herramientasProyección de herramientas
Proyección de herramientas
 
El power point nuestro de cada dia.
El power point nuestro de cada dia.El power point nuestro de cada dia.
El power point nuestro de cada dia.
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 

Similar a Arboles Splay (20)

Structures project
Structures projectStructures project
Structures project
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.ppt
 
Abb árboles de búsqueda binaria
Abb árboles de búsqueda binariaAbb árboles de búsqueda binaria
Abb árboles de búsqueda binaria
 
Arboles
ArbolesArboles
Arboles
 
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
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Qué son las colas de prioridad
Qué son las colas de prioridadQué son las colas de prioridad
Qué son las colas de prioridad
 
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
 
1 árbol
1 árbol1 árbol
1 árbol
 
Colas de prioridad
Colas de prioridadColas de prioridad
Colas de prioridad
 
Arboles
ArbolesArboles
Arboles
 
Tema6-Arboles.pdf
Tema6-Arboles.pdfTema6-Arboles.pdf
Tema6-Arboles.pdf
 
Operaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesOperaciones Básicas con Árboles
Operaciones Básicas con Árboles
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Actividad7
Actividad7Actividad7
Actividad7
 
Splay tree
Splay treeSplay tree
Splay tree
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 

Más de Brian Mora

ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...
ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...
ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...Brian Mora
 
Reglamento tenencia responsable manejo de perros ecuador msp
Reglamento tenencia responsable manejo de perros ecuador msp Reglamento tenencia responsable manejo de perros ecuador msp
Reglamento tenencia responsable manejo de perros ecuador msp Brian Mora
 
Gad santa elena
Gad santa elenaGad santa elena
Gad santa elenaBrian Mora
 
Ley orgánica de bienestar animal
Ley orgánica de bienestar animalLey orgánica de bienestar animal
Ley orgánica de bienestar animalBrian Mora
 
Ordenanza tenencia responsable loja
Ordenanza tenencia responsable lojaOrdenanza tenencia responsable loja
Ordenanza tenencia responsable lojaBrian Mora
 
Ordenanza tenencia responsable ibarra
Ordenanza tenencia responsable ibarraOrdenanza tenencia responsable ibarra
Ordenanza tenencia responsable ibarraBrian Mora
 
Odenanza control mascotas ambato enero 2009
Odenanza control mascotas ambato enero 2009Odenanza control mascotas ambato enero 2009
Odenanza control mascotas ambato enero 2009Brian Mora
 
Ordenanza proteccion animales cuenca
Ordenanza proteccion animales cuencaOrdenanza proteccion animales cuenca
Ordenanza proteccion animales cuencaBrian Mora
 
Ordenanza tenencia animales quito
Ordenanza tenencia animales quitoOrdenanza tenencia animales quito
Ordenanza tenencia animales quitoBrian Mora
 
Reglamento nacional tenencia responsable manejo de perros ecuador
Reglamento nacional tenencia responsable manejo de perros ecuadorReglamento nacional tenencia responsable manejo de perros ecuador
Reglamento nacional tenencia responsable manejo de perros ecuadorBrian Mora
 

Más de Brian Mora (11)

ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...
ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...
ORDENANZA PARA CONTROL Y MANEJO DE LA FAUNA URBANA Y LA PROTECCIÓN DE ANIMALE...
 
Reglamento tenencia responsable manejo de perros ecuador msp
Reglamento tenencia responsable manejo de perros ecuador msp Reglamento tenencia responsable manejo de perros ecuador msp
Reglamento tenencia responsable manejo de perros ecuador msp
 
Gad santa elena
Gad santa elenaGad santa elena
Gad santa elena
 
Codigo penal
Codigo penalCodigo penal
Codigo penal
 
Ley orgánica de bienestar animal
Ley orgánica de bienestar animalLey orgánica de bienestar animal
Ley orgánica de bienestar animal
 
Ordenanza tenencia responsable loja
Ordenanza tenencia responsable lojaOrdenanza tenencia responsable loja
Ordenanza tenencia responsable loja
 
Ordenanza tenencia responsable ibarra
Ordenanza tenencia responsable ibarraOrdenanza tenencia responsable ibarra
Ordenanza tenencia responsable ibarra
 
Odenanza control mascotas ambato enero 2009
Odenanza control mascotas ambato enero 2009Odenanza control mascotas ambato enero 2009
Odenanza control mascotas ambato enero 2009
 
Ordenanza proteccion animales cuenca
Ordenanza proteccion animales cuencaOrdenanza proteccion animales cuenca
Ordenanza proteccion animales cuenca
 
Ordenanza tenencia animales quito
Ordenanza tenencia animales quitoOrdenanza tenencia animales quito
Ordenanza tenencia animales quito
 
Reglamento nacional tenencia responsable manejo de perros ecuador
Reglamento nacional tenencia responsable manejo de perros ecuadorReglamento nacional tenencia responsable manejo de perros ecuador
Reglamento nacional tenencia responsable manejo de perros ecuador
 

Último

taller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptxtaller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptxSandraEspaa8
 
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024OBSERVATORIOREGIONAL
 
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024OBSERVATORIOREGIONAL
 
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdfaccidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdfIrapuatoCmovamos
 
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024OBSERVATORIOREGIONAL
 
TECNOLOGIA Salaverry descripción del sector .pdf
TECNOLOGIA Salaverry  descripción del sector  .pdfTECNOLOGIA Salaverry  descripción del sector  .pdf
TECNOLOGIA Salaverry descripción del sector .pdfleonardomendocilla23
 
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024OBSERVATORIOREGIONAL
 
Las Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptxLas Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptxecarvictoriajhan
 
Competencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdfCompetencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdfAlfredo Zaconeta
 
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptxSISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptxryo516
 
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024OBSERVATORIOREGIONAL
 
Politicas publicas un balance necesario Bolivia
Politicas publicas un balance necesario BoliviaPoliticas publicas un balance necesario Bolivia
Politicas publicas un balance necesario BoliviaAlfredo Zaconeta
 

Último (12)

taller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptxtaller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptx
 
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
 
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
 
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdfaccidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
 
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
 
TECNOLOGIA Salaverry descripción del sector .pdf
TECNOLOGIA Salaverry  descripción del sector  .pdfTECNOLOGIA Salaverry  descripción del sector  .pdf
TECNOLOGIA Salaverry descripción del sector .pdf
 
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
 
Las Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptxLas Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptx
 
Competencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdfCompetencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdf
 
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptxSISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
 
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
 
Politicas publicas un balance necesario Bolivia
Politicas publicas un balance necesario BoliviaPoliticas publicas un balance necesario Bolivia
Politicas publicas un balance necesario Bolivia
 

Arboles 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 4 5 5 4 4 < 5 entonces se inserta al a derecha por la regla de inserción Luego se ejecuta la operación de Biselación Raíz 5 4 Nueva Raíz
  • 8. Insertar: 2 5 4 2 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 5 4 2 < 4 entonces se inserta al a izquierda por la regla de inserción2 Luego se ejecuta la operación de Biselación
  • 9. 5 4 2 2 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 4 5 Nueva Raíz Operación de Biselación
  • 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. 6 5 1 2 4 3 7 4 1 2 3 5 6 7
  • 12.  Continuación eliminar 4. 5 6 1 2 3 7 4 75 6 1 2 3Liberar Raíz Join izquierda y derecha
  • 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 8 2 75 6 41 3
  • 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: • TEOREMA DEL BALANCE • TEOREMA DE OPTIMALIDAD ESTÁTICA • TEOREMA “STATIC FINGER” • TEOREMA “WORKING SET” • TEOREMA “DYNAMIC FINGER”
  • 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 intentamos buscar T(10)(5) es 4. el teorema explica que:
  • 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.