SlideShare una empresa de Scribd logo
1 de 30
Árboles Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes (mmontesg@inaoep.mx) Claudia Feregrino (cferegrino@inaoep.mx)
Contenido de la sección ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
¿qué es un árbol? ,[object Object],[object Object],[object Object]
Ejemplo de un árbol A B D G H I C E F
Nomenclatura básica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Más nomenclatura ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implementación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo de representación ,[object Object],[object Object],[object Object],A B D G H I C E F
Árboles binarios ,[object Object],[object Object],Raíz Árbol izquierdo Árbol derecho
Implementación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recorridos estándar ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],void  inorder (Arbol *nodo) { if (nodo != NULL) { inorder (nodo->izq); visitar(nodo) ; inorder (nodo->der); } }  void postorder(Arbol *nodo) { if (nodo != NULL) { postorder(nodo->izq); postorder(nodo->der); visitar(nodo) ; } }
Ejemplo de recorridos ,[object Object],[object Object],[object Object],A B C F G D E
Árbol binario de búsqueda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplos ,[object Object],6 2 8 3 1 4 6 2 8 3 1 4 7 2 7 1 8 6 5 4
Operación BUSCAR boolean buscar(Arbol *nodo, int elem) { if (nodo == NULL) return FALSE; else if (nodo->dato < elem) return  buscar(nodo->izq, elem); else if (nodo->dato > elem) return  buscar(nodo->der, elem); else return TRUE; } 6 2 8 3 1 4 Buscando 4: VERDADERO Buscando 7: FALSO
Operación INSERTAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 2 8 3 1 4 5 Insertando 5
Operación ELIMINAR (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ELIMINAR (casos sencillos)  6 2 8 3 1 4 Eliminar nodo hoja Eliminar 3 Eliminar nodo con un hijo Eliminar 4 6 2 8 3 1 4
ELIMINAR (Caso complejo) 6 2 8 3 1 4 5 6 3 8 3 1 4 5 Eliminar nodo con dos hijos Eliminar 2 eliminar copiar valor ,[object Object],[object Object]
Otro ejemplo (caso complejo) 6 2 8 3 1 4 5 3.5 Eliminar nodo con dos hijos Eliminar 2 6 3 8 3 1 4 5 3.5
Implementación ELIMINAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],else  /* encontramos el elemento */  /* tiene dos hijos */ if (nodo->izq && nodo->derecho){ aux =  enontrar_min (nodo->der); nodo->dato = aux->dato; nodo->der =  eliminar(   nodo->der; nodo->dato); } /* un solo hijo */ else { aux = nodo; if (nodo->izq == NULL)  hijo = nodo->der ;  if (nodo->der == NULL)  hijo = nodo->izq ; free(aux) ; return hijo ; } } return nodo; }
Árboles desbalanceados ,[object Object],[object Object],[object Object],2 7 1 8 6 5 4
Árboles AVL ,[object Object],[object Object],[object Object],[object Object],[object Object]
¿son árboles AVL? 0,0 1,0 0,0 1,2 3,2 1,0 0,0 5 6 2 8 3 1 4 6 2 8 3 1 4 7 0,0 1,1 0,0 1,2 3,1 0,0 0,0
Construcción de un árbol AVL ,[object Object],[object Object],[object Object],[object Object],[object Object],5 6 2 8 1 4 3,1
Rotación simple X K 1 K 2 Y Z X K 1 K 2 Y Z Z K 1 K 2 Y X K 2 K 1 Y Z X
Ejemplo rotación simple 4 2 5 6 1 3 2 1 4 3 6 5
NO siempre es suficiente ¡tenemos un caso de “pata de perro”! 6 2 8 3 1 4 2 1 6 3 4 8
Rotación doble K 1 K 3 D A K 2 B C K 1 K 3 A D K 2 B C K 1 K 3 D A K 2 B C K 3 K 1 D A K 2 B C
Ejemplo doble rotación 2 6 1 3 5 4 14 7 15 k 3 k 1 k 2 13 2 7 1 3 6 4 14 5 15 13

Más contenido relacionado

Destacado

Computacion windows mac
Computacion windows  macComputacion windows  mac
Computacion windows macmartiri
 
Prezentare audio optica februarie 2012
Prezentare audio optica februarie 2012Prezentare audio optica februarie 2012
Prezentare audio optica februarie 2012RoxanaTaranu
 
Underslore ita
Underslore itaUnderslore ita
Underslore itaalereda98
 
Uso de imágenes en la enseñanza una guía rápida2
Uso de imágenes en la enseñanza una guía rápida2Uso de imágenes en la enseñanza una guía rápida2
Uso de imágenes en la enseñanza una guía rápida2danielachman
 
Apuntes verbos irregulares ir y ser en el preterito
Apuntes verbos irregulares ir y ser en el preteritoApuntes verbos irregulares ir y ser en el preterito
Apuntes verbos irregulares ir y ser en el preteritoPriscilla Sanches Salles
 
Os 12 piores do mundo
Os 12 piores do mundoOs 12 piores do mundo
Os 12 piores do mundoVinicius _
 
Cartea nunţii pîrvu cătălin
Cartea nunţii pîrvu cătălinCartea nunţii pîrvu cătălin
Cartea nunţii pîrvu cătălinConstantin Catalin
 
Conceptos básicos de redes
Conceptos básicos de redesConceptos básicos de redes
Conceptos básicos de redesKaaatia
 
Creativitatea abordari teoretice.doc
Creativitatea   abordari teoretice.docCreativitatea   abordari teoretice.doc
Creativitatea abordari teoretice.docGigi Banica
 
How to Assemble Potato Lasagna
How to Assemble Potato LasagnaHow to Assemble Potato Lasagna
How to Assemble Potato LasagnaUS Potato Board
 
La mia sera - Giovanni Pascoli
La mia sera - Giovanni PascoliLa mia sera - Giovanni Pascoli
La mia sera - Giovanni Pascolisonzogni
 

Destacado (20)

Egészséges életmód 1
Egészséges életmód 1Egészséges életmód 1
Egészséges életmód 1
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Estonia
EstoniaEstonia
Estonia
 
Computacion windows mac
Computacion windows  macComputacion windows  mac
Computacion windows mac
 
Act 19 dahe
Act 19 daheAct 19 dahe
Act 19 dahe
 
Prezentare audio optica februarie 2012
Prezentare audio optica februarie 2012Prezentare audio optica februarie 2012
Prezentare audio optica februarie 2012
 
Underslore ita
Underslore itaUnderslore ita
Underslore ita
 
Uso de imágenes en la enseñanza una guía rápida2
Uso de imágenes en la enseñanza una guía rápida2Uso de imágenes en la enseñanza una guía rápida2
Uso de imágenes en la enseñanza una guía rápida2
 
Apuntes verbos irregulares ir y ser en el preterito
Apuntes verbos irregulares ir y ser en el preteritoApuntes verbos irregulares ir y ser en el preterito
Apuntes verbos irregulares ir y ser en el preterito
 
Os 12 piores do mundo
Os 12 piores do mundoOs 12 piores do mundo
Os 12 piores do mundo
 
Cartea nunţii pîrvu cătălin
Cartea nunţii pîrvu cătălinCartea nunţii pîrvu cătălin
Cartea nunţii pîrvu cătălin
 
Conceptos básicos de redes
Conceptos básicos de redesConceptos básicos de redes
Conceptos básicos de redes
 
Creativitatea abordari teoretice.doc
Creativitatea   abordari teoretice.docCreativitatea   abordari teoretice.doc
Creativitatea abordari teoretice.doc
 
Embarazos adolecentes
Embarazos adolecentesEmbarazos adolecentes
Embarazos adolecentes
 
Chart 6
Chart 6Chart 6
Chart 6
 
Acidos nucleicos
Acidos nucleicosAcidos nucleicos
Acidos nucleicos
 
How to Assemble Potato Lasagna
How to Assemble Potato LasagnaHow to Assemble Potato Lasagna
How to Assemble Potato Lasagna
 
Adrian paunescu
Adrian paunescuAdrian paunescu
Adrian paunescu
 
La mia sera - Giovanni Pascoli
La mia sera - Giovanni PascoliLa mia sera - Giovanni Pascoli
La mia sera - Giovanni Pascoli
 
Mi primera observacion
Mi primera observacionMi primera observacion
Mi primera observacion
 

Similar a 04 curso-prope-py ed-arboles (20)

Arboles02
Arboles02Arboles02
Arboles02
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
12. Arboles.ppt
12. Arboles.ppt12. Arboles.ppt
12. Arboles.ppt
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
Arboles
ArbolesArboles
Arboles
 
Arboles
ArbolesArboles
Arboles
 
Arboles
Arboles Arboles
Arboles
 
Arboles ppt
Arboles pptArboles ppt
Arboles ppt
 
GRAFOS
GRAFOSGRAFOS
GRAFOS
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Estructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesEstructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no Lineales
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5
 
Arboles
ArbolesArboles
Arboles
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 

Último (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 

04 curso-prope-py ed-arboles

  • 1. Árboles Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes (mmontesg@inaoep.mx) Claudia Feregrino (cferegrino@inaoep.mx)
  • 2.
  • 3.
  • 4. Ejemplo de un árbol A B D G H I C E F
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Operación BUSCAR boolean buscar(Arbol *nodo, int elem) { if (nodo == NULL) return FALSE; else if (nodo->dato < elem) return buscar(nodo->izq, elem); else if (nodo->dato > elem) return buscar(nodo->der, elem); else return TRUE; } 6 2 8 3 1 4 Buscando 4: VERDADERO Buscando 7: FALSO
  • 16.
  • 17.
  • 18. ELIMINAR (casos sencillos) 6 2 8 3 1 4 Eliminar nodo hoja Eliminar 3 Eliminar nodo con un hijo Eliminar 4 6 2 8 3 1 4
  • 19.
  • 20. Otro ejemplo (caso complejo) 6 2 8 3 1 4 5 3.5 Eliminar nodo con dos hijos Eliminar 2 6 3 8 3 1 4 5 3.5
  • 21.
  • 22.
  • 23.
  • 24. ¿son árboles AVL? 0,0 1,0 0,0 1,2 3,2 1,0 0,0 5 6 2 8 3 1 4 6 2 8 3 1 4 7 0,0 1,1 0,0 1,2 3,1 0,0 0,0
  • 25.
  • 26. Rotación simple X K 1 K 2 Y Z X K 1 K 2 Y Z Z K 1 K 2 Y X K 2 K 1 Y Z X
  • 27. Ejemplo rotación simple 4 2 5 6 1 3 2 1 4 3 6 5
  • 28. NO siempre es suficiente ¡tenemos un caso de “pata de perro”! 6 2 8 3 1 4 2 1 6 3 4 8
  • 29. Rotación doble K 1 K 3 D A K 2 B C K 1 K 3 A D K 2 B C K 1 K 3 D A K 2 B C K 3 K 1 D A K 2 B C
  • 30. Ejemplo doble rotación 2 6 1 3 5 4 14 7 15 k 3 k 1 k 2 13 2 7 1 3 6 4 14 5 15 13