SlideShare una empresa de Scribd logo
1 de 17
Instituto Tecnológico de Costa Rica
Curso:
Ingeniería en Computación

Estructuras de Datos
Angulo Chavarría Sleyter
Céspedes García Robert
Cubero Mora Adrián
Lewis Mora Benjamín
Fue implementado por primera vez en 1985.
Fue inventado por Robert Tarjan y Daniel Sleator.
Son arboles binarios, pero su característica fundamental es que se
encuentra auto-balanceado. Donde los elementos accesados
recientemente se encuentran en la parte posterior del árbol. Realiza una
serie de rotaciones para colocar donde correspondan esos elementos.
La búsqueda es mas rápida y eficiente.
Reduce el tiempo total de consumo accediendo a los elementos mas
utilizados.
Facilita el acceso a la memoria.
Requieren menos espacio que otros arboles como: ABB (Balanceados).
Su implementación es mas fácil y sencilla.
Se minimizan los requerimientos de la memoria.
No son perfectamente balanceados (ya que cuando el árbol vuelve a su estado
inicial, el árbol se desbalancea).
En el peor de los casos una operación puede tarde O(n). (Donde n es el numero
de nodos del árbol).
Las operaciones individuales pueden llegar a ser largas y costosas.
Son arboles binarios.
Se encuentran balanceados.
La profundidad del árbol puede ser muy grande.
La búsqueda puede tonarse tediosa cuando el árbol se encuentra
en su forma original, es decir después de que el árbol ordeno los
elementos mas utilizados cerca de la raíz, y vuelve a su estado
original.
Utiliza una serie de rotaciones para ordenar los elementos para que
queden cerca de la raíz.
Algoritmos importantes
Dentro de los algoritmos importantes encontramos:
Inserción.
Eliminación.
Búsqueda.
Operación de biselación.
Método de Insertar
El método de insertar en este árbol consiste, en insertar únicamente en las
hojas, siempre y cuando la raíz este llena. Sino el elemento a insertar se
inserta en la raíz, como lo hace el árbol binario de búsqueda. Este árbol al
ir haciendo las inserciones va ordenando los elementos de manera que los
menores queden a la izquierda del nodo ( este elemento funciona como
una “raíz” de cada subárbol) y los mayores a la derecha. De esta manera
se facilita la búsqueda. Y deja el elemento en la parte posterior del árbol.
Pasos del método de Insertar
1.Primeramente se pregunta si el árbol esta
vacío. Si lo esta inserta el elemento como raíz.
2.Si el árbol ya tiene elementos, busca cual
sería la posible posición de ese elemento a
insertar.
3.Cuando ya obtiene la posición donde va el
elemento verifica que sea una hoja y lo
inserta.
4.Después realiza una serie de rotaciones
hasta lograr que el árbol quede
ordenado, pero dejando el nuevo elemento
insertado como raíz.
Método de eliminar
Para realizar el método de eliminar son necesarias dos operaciones de
biselación. Primeramente se busca el nodo a eliminar , con esto se determina
si es necesaria la primera biselación , ya que si el nodo no es encontrado se
tomará el ultimo nodo encontrado y este pasará a la raíz. Si el valor a eliminar
es encontrado se le realizara el método de biselación para colocarlo en la raíz
y luego eliminarlo. Cuando se elimina como es un ABB quedan dos nodos
separados por lo que hay que seleccionar un nodo raíz , la cual se puede
determinar con el mayor valor del la parte izquierda o el menor valor de la
parte derecha.
1.Se busca el valor a eliminar.
2.Si el valor no fue encontrado se coloca
como raíz el ultimo nodo visitado.
3.Si el valor fue encontrado , se coloca el
nodo del valor como raíz y se elimina. Al
eliminar el nodo raíz quedaran 2 partes del
árbol separadas.
4.Para unirlas se toma el valor mayor de la
parte sub-izquierda del árbol, y se coloca
como raíz uniendo las dos partes. También se
puede unir con el valor menor del árbol subderecho, utilizando el mismo proceso de
colocarlo como raíz.
Método de Buscar
La búsqueda en este tipo de árbol se realiza modificando la estructura del
árbol, es decir conforme se vaya encontrando el elemento buscado, ese
elemento sube hasta quedar como raíz del árbol, es decir los elementos
recientemente buscados estarán en la parte superior del árbol. El descenso de
los elementos se realiza como en los arboles binarios de búsqueda.
Pasos del método de Buscar
1.Se pregunta si el árbol se encuentra vacío. Si lo esta se
indica que no hay elementos.
2.De lo contrario se empieza a recorrer el árbol (ya sea
por anchura o profundidad), y se pregunta si el elemento
de ese nodo es igual al elemento buscado, si lo es indica
que lo encontró, deja este elemento como raíz haciendo
una serie de rotaciones o biselaciones.
3.Sino dice que no se encuentra el elemento buscado y
hace unas rotaciones dejando el ultimo nodo visitado
como raíz.
La operación de biselación lo que pretende es ir haciendo rotaciones hasta
acomodar el nodo como raíz, esto lo realiza a través de ciertas condiciones
que deben cumplir las rotaciones para no dejar el árbol desbalanceado y
desordenado.
Podemos mencionar que existen 3 casos:
•Caso 1: Que el elemento sea un hijo izquierdo o derecho de la raíz.
Realizando una rotación simple ya sea a izquierda o derecha.
•Caso 2: Que el elemento sea nieto izquierdo o derecho de la raíz.
Realizando una rotación doble siendo para la derecha o izquierda según
corresponda el caso.
•Caso 3: Que el elemento sea un hijo derecho o izquierdo del padre, pero
ese mismo elemento es nieto izquierdo o derecho de la raíz. Lo que se hace
es una rotación doble combinada es decir derecha-izquierda o izquierdaderecha según corresponda.
Casos de Biselación
Caso 1:
Si el elemento es un hijo izquierdo de la raíz del árbol, entonces hace
una rotación simple a la derecha.
Para efecto de este
ejemplo x es elemento
a biselar.

Si el elemento es un hijo derecho de la raíz del árbol, entonces hace
una rotación simple a la izquierda.
Para efecto de este
ejemplo x es elemento
a biselar.
Caso 2:
Si el elemento es hijo y nieto izquierdo de una hoja y de la raíz del
árbol respectivamente, entonces hace una rotación doble a la derecha.
Para efecto de este
ejemplo x es hijo de p;
y nieto de q.

Si el elemento es hijo y nieto derecha de una hoja y de la raíz del
árbol respectivamente, entonces hace una rotación doble a la izquierda.
Para efecto de este
ejemplo x es hijo de p;
y nieto de q.
Caso 3:
Si el elemento es hijo derecho y nieto izquierdo de una hoja y de la
raíz del árbol respectivamente, entonces hace una rotación doble
izquierda-derecha.
Para efecto de este
ejemplo x es hijo de p;
y nieto de q.

Si el elemento es hijo izquierdo y nieto derecho de una hoja y de la
raíz del árbol respectivamente, entonces hace una rotación doble
derecha-izquierda.
Para efecto de este
ejemplo x es hijo de p;
y nieto de q.

Más contenido relacionado

Similar a Structures project

Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
daniel9026
 

Similar a Structures project (20)

Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdf
 
Splay tree
Splay treeSplay tree
Splay tree
 
Arboles Splay
Arboles SplayArboles Splay
Arboles Splay
 
Árboles splay
Árboles splayÁrboles splay
Árboles splay
 
Abb árboles de búsqueda binaria
Abb árboles de búsqueda binariaAbb árboles de búsqueda binaria
Abb árboles de búsqueda binaria
 
estructura de árbol.pdf JOSE GABRIEL LUCENA
estructura de árbol.pdf JOSE GABRIEL LUCENAestructura de árbol.pdf JOSE GABRIEL LUCENA
estructura de árbol.pdf JOSE GABRIEL LUCENA
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdf
 
áRbol 2 3
áRbol 2 3áRbol 2 3
áRbol 2 3
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.ppt
 
arbol.pdf
arbol.pdfarbol.pdf
arbol.pdf
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 
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)
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Tema6-Arboles.pdf
Tema6-Arboles.pdfTema6-Arboles.pdf
Tema6-Arboles.pdf
 
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
 
Estructuras no lineales de la unidad 4
Estructuras no lineales de la unidad 4Estructuras no lineales de la unidad 4
Estructuras no lineales de la unidad 4
 
Estructuras no lineales
Estructuras no linealesEstructuras no lineales
Estructuras no lineales
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Structures project

  • 1. Instituto Tecnológico de Costa Rica Curso: Ingeniería en Computación Estructuras de Datos Angulo Chavarría Sleyter Céspedes García Robert Cubero Mora Adrián Lewis Mora Benjamín
  • 2. Fue implementado por primera vez en 1985. Fue inventado por Robert Tarjan y Daniel Sleator.
  • 3. Son arboles binarios, pero su característica fundamental es que se encuentra auto-balanceado. Donde los elementos accesados recientemente se encuentran en la parte posterior del árbol. Realiza una serie de rotaciones para colocar donde correspondan esos elementos.
  • 4. La búsqueda es mas rápida y eficiente. Reduce el tiempo total de consumo accediendo a los elementos mas utilizados. Facilita el acceso a la memoria. Requieren menos espacio que otros arboles como: ABB (Balanceados). Su implementación es mas fácil y sencilla. Se minimizan los requerimientos de la memoria.
  • 5. No son perfectamente balanceados (ya que cuando el árbol vuelve a su estado inicial, el árbol se desbalancea). En el peor de los casos una operación puede tarde O(n). (Donde n es el numero de nodos del árbol). Las operaciones individuales pueden llegar a ser largas y costosas.
  • 6. Son arboles binarios. Se encuentran balanceados. La profundidad del árbol puede ser muy grande. La búsqueda puede tonarse tediosa cuando el árbol se encuentra en su forma original, es decir después de que el árbol ordeno los elementos mas utilizados cerca de la raíz, y vuelve a su estado original. Utiliza una serie de rotaciones para ordenar los elementos para que queden cerca de la raíz.
  • 7. Algoritmos importantes Dentro de los algoritmos importantes encontramos: Inserción. Eliminación. Búsqueda. Operación de biselación.
  • 8. Método de Insertar El método de insertar en este árbol consiste, en insertar únicamente en las hojas, siempre y cuando la raíz este llena. Sino el elemento a insertar se inserta en la raíz, como lo hace el árbol binario de búsqueda. Este árbol al ir haciendo las inserciones va ordenando los elementos de manera que los menores queden a la izquierda del nodo ( este elemento funciona como una “raíz” de cada subárbol) y los mayores a la derecha. De esta manera se facilita la búsqueda. Y deja el elemento en la parte posterior del árbol.
  • 9. Pasos del método de Insertar 1.Primeramente se pregunta si el árbol esta vacío. Si lo esta inserta el elemento como raíz. 2.Si el árbol ya tiene elementos, busca cual sería la posible posición de ese elemento a insertar. 3.Cuando ya obtiene la posición donde va el elemento verifica que sea una hoja y lo inserta. 4.Después realiza una serie de rotaciones hasta lograr que el árbol quede ordenado, pero dejando el nuevo elemento insertado como raíz.
  • 10. Método de eliminar Para realizar el método de eliminar son necesarias dos operaciones de biselación. Primeramente se busca el nodo a eliminar , con esto se determina si es necesaria la primera biselación , ya que si el nodo no es encontrado se tomará el ultimo nodo encontrado y este pasará a la raíz. Si el valor a eliminar es encontrado se le realizara el método de biselación para colocarlo en la raíz y luego eliminarlo. Cuando se elimina como es un ABB quedan dos nodos separados por lo que hay que seleccionar un nodo raíz , la cual se puede determinar con el mayor valor del la parte izquierda o el menor valor de la parte derecha.
  • 11. 1.Se busca el valor a eliminar. 2.Si el valor no fue encontrado se coloca como raíz el ultimo nodo visitado. 3.Si el valor fue encontrado , se coloca el nodo del valor como raíz y se elimina. Al eliminar el nodo raíz quedaran 2 partes del árbol separadas. 4.Para unirlas se toma el valor mayor de la parte sub-izquierda del árbol, y se coloca como raíz uniendo las dos partes. También se puede unir con el valor menor del árbol subderecho, utilizando el mismo proceso de colocarlo como raíz.
  • 12. Método de Buscar La búsqueda en este tipo de árbol se realiza modificando la estructura del árbol, es decir conforme se vaya encontrando el elemento buscado, ese elemento sube hasta quedar como raíz del árbol, es decir los elementos recientemente buscados estarán en la parte superior del árbol. El descenso de los elementos se realiza como en los arboles binarios de búsqueda.
  • 13. Pasos del método de Buscar 1.Se pregunta si el árbol se encuentra vacío. Si lo esta se indica que no hay elementos. 2.De lo contrario se empieza a recorrer el árbol (ya sea por anchura o profundidad), y se pregunta si el elemento de ese nodo es igual al elemento buscado, si lo es indica que lo encontró, deja este elemento como raíz haciendo una serie de rotaciones o biselaciones. 3.Sino dice que no se encuentra el elemento buscado y hace unas rotaciones dejando el ultimo nodo visitado como raíz.
  • 14. La operación de biselación lo que pretende es ir haciendo rotaciones hasta acomodar el nodo como raíz, esto lo realiza a través de ciertas condiciones que deben cumplir las rotaciones para no dejar el árbol desbalanceado y desordenado. Podemos mencionar que existen 3 casos: •Caso 1: Que el elemento sea un hijo izquierdo o derecho de la raíz. Realizando una rotación simple ya sea a izquierda o derecha. •Caso 2: Que el elemento sea nieto izquierdo o derecho de la raíz. Realizando una rotación doble siendo para la derecha o izquierda según corresponda el caso. •Caso 3: Que el elemento sea un hijo derecho o izquierdo del padre, pero ese mismo elemento es nieto izquierdo o derecho de la raíz. Lo que se hace es una rotación doble combinada es decir derecha-izquierda o izquierdaderecha según corresponda.
  • 15. Casos de Biselación Caso 1: Si el elemento es un hijo izquierdo de la raíz del árbol, entonces hace una rotación simple a la derecha. Para efecto de este ejemplo x es elemento a biselar. Si el elemento es un hijo derecho de la raíz del árbol, entonces hace una rotación simple a la izquierda. Para efecto de este ejemplo x es elemento a biselar.
  • 16. Caso 2: Si el elemento es hijo y nieto izquierdo de una hoja y de la raíz del árbol respectivamente, entonces hace una rotación doble a la derecha. Para efecto de este ejemplo x es hijo de p; y nieto de q. Si el elemento es hijo y nieto derecha de una hoja y de la raíz del árbol respectivamente, entonces hace una rotación doble a la izquierda. Para efecto de este ejemplo x es hijo de p; y nieto de q.
  • 17. Caso 3: Si el elemento es hijo derecho y nieto izquierdo de una hoja y de la raíz del árbol respectivamente, entonces hace una rotación doble izquierda-derecha. Para efecto de este ejemplo x es hijo de p; y nieto de q. Si el elemento es hijo izquierdo y nieto derecho de una hoja y de la raíz del árbol respectivamente, entonces hace una rotación doble derecha-izquierda. Para efecto de este ejemplo x es hijo de p; y nieto de q.