SlideShare una empresa de Scribd logo
1 de 48
Árboles
Contenido:
•Árboles generales.
* Algunas definiciones.
*Árboles binarios.
*Estructura de un árbol.
*Recorrido de un árbol.
*Conversión de árboles
Introducción.
• Los árboles son estructuras de datos no
lineales.
• Al contrario que las estructuras y las listas
enlazadas que constituyen estructuras
lineales.
• El campo de aplicación es inmenso.
Conceptos clave.
• Árbol.
• Árbol binario.
• Árbol binario de búsqueda.
• Conceptos teóricos (nivel, profundidad, raíz, hoja,
rama…)
• Nodo.
• In-orden.
• Pre-orden.
• Post-orden.
• Recorrido de un árbol.
• Subárbol.
Árbol general.
• Intuitivamente el concepto de árbol
implica una estructura en la que los datos
se organizan de modo que los elementos
de información están relacionados entre sí
a través de ramas.
Un árbol.
• Un árbol consta de un conjunto finito de
elementos, denominados nodos y un
conjunto finito de líneas dirigidas,
denominadas ramas, que conectan los
nodos. El número de ramas asociado con
un nodo es el grado del nodo.
Definiciones.
• Definición 1: Un árbol consta de un conjunto finito
de elementos, llamados nodos y un conjunto finito de
líneas dirigidas, llamadas ramas, que conectan los
nodos.
• Definición 2: Un árbol es un conjunto de uno o más
nodos tales que:
1. Hay un nodo diseñado especialmente llamado
raíz.
2. Los nodos restantes se dividen en n>=0
conjuntos disjuntos tales que ,... ,en donde cada
uno de estos conjuntos es un árbol. A T,… , ...
se les denomina subárboles del raíz.
T1 Tn
T2
Tn
Árbol.
Árbol General
El nivel y camino.
Definición de nivel.
• El nivel de un nodo es su distancia hasta
la raíz. La altura de un árbol es el nivel de
la hoja del camino más largo desde el raíz
más uno.
Sub-árbol
• Un subárbol es cualquier estructura
conectada por debajo de la raíz
Definición recursiva de árbol:
• Un árbol es un conjunto de nodos que:
1. Es vacío, o bien,
2. Tiene un nodo determinado llamado
raíz del que jerárquicamente descienden
cero o mas subárboles, que también son
árboles.
El equilibrio…..
• Un árbol está equilibrado cuando, dado
un número máximo de k hijos para cada
nodo y la altura del árbol h, cada nodo
de nivel l < h - 1 tiene exactamente k
hijos. El árbol está equilibrado
perfectamente cuando cada nodo de
nivel l < h tiene exactamente k hijos.
Árbol equilibrado.
Árbol perfectamente equilibrado.
Representación de un árbol
• Numérica:
51
51-1
…
51-2
51-21
52-22
...
52-99
51-3
• Descripción:
Computaroda
drivers
ALU
…
ROM
Teclado
…
Periféricos
Escáner
…
Representación de lista.
• Raíz (B (E, F), C, D (G, H, I)).
ÁRBOLES BlNARlOS
• Un árbol binario es un árbol en el que
ningún nodo puede tener más de dos
subárboles. En un árbol binario, cada
nodo puede tener, cero, uno o dos hijos
(subárboles).
Árbol Binario.
Un árbol binario..
• Un árbol binario es una estructura
recursiva.
• Un árbol binario se divide en tres
subconjuntos disjuntos:
• {R} Nodo raíz
• {I, I_1,I_2} Subárbol izquierdo de R
• {D, D_1, D_2} Subárbol derecho de R
Árbol degenerado…
Es aquel en el que existe un solo nodo
hoja ( 4 ) y cada nodo no hoja sólo
tiene un hijo.
Estructura de un árbol binario
Representación en C.
typedef struct nodo puntero-arbol;
typedef struct nodo {
int datos;
puntero-arbol hijo-izdo, hijo-dcho;
} ;
---------------------------------------------------------------------
typedef int TipoElemento; / * Puede ser cualquier tipo * /
struct Nodo {
TipoElemento Info;
struct Nodo *hijo-izdo, *hijo-dcho;
};
typedef struct Nodo ElementodeArbolBin;
typedef ElementodeArbolBin *ArbolBinario;
ArbolBinario CrearNodo(TipoE1emento x){
ArbolBinario a;
a = (ArbolBinario)
malloc(sizeof(ElementoDeArbolBin ) ) ;
a -> Info = x;
a-> hijo-dcho = a -> hijo-izdo = NULL;
return a;
}
Crear un árbol binario de raíz 9, rama
izquierda 7 y rama derecha 11:
ArbolBinario raiz;
raiz = CrearNodo(9);
raiz -> hijo-izdo = CrearNodo(7);
raiz -> hijo-dcho = CrearNodo(11);
Operaciones con arboles
binarios.
• Determinar su altura.
• Determinar su número de elementos.
• Hacer una copia.
• Visualizar el árbol binario en pantalla o en impresora.
• Determinar si dos árboles binarios son idénticos.
• Borrar (eliminar el árbol).
• Si es un árbol de expresión, evaluar la expresión.
• Si es un árbol de expresión, obtener la forma de
paréntesis de la expresión.
Árboles de expresión.
• Una expresión es una secuencia de
tokens (componentes de léxicos que
siguen unas reglas prescritas). Un token
puede ser o bien un operando o bien un
operador.
Ejemplo:
a*(b+c)+d.
Propiedades…
• Un árbol de expresión es un árbol
binario con las siguientes propiedades:
1. Cada hoja es un operando.
2. Los nodos raíz e internos son operadores.
3. Los subárboles son subexpresiones en las
que el nodo raíz es un operador.
Conversión general-binario
• 1.- La raíz de B es la raíz de A.
• 2.- a) Enlazar al nodo raíz con el camino que conecta al
nodo más a la izquierda(su hijo).
b) Enlazar este nodo con los restantes descendientes
del nodo raíz en un camino, con lo que se forma el nivel
1.
c) Repetir los pasos a) y b) con los nodos del nivel 2,
enlazando siempre en un mismo camino todos los
hermanos –descendientes del mismo- Repetir estos
pasos hasta llegar al nivel más alto.
3.- Girar el diagrama 45 para diferenciar los subárboles
Ejemplo.
Paso 1.
Paso 2.
Paso 3. giro 45*
Ejercicio.
Conversión.
Recorrido de un árbol.
• Para consultar los datos almacenados en
un árbol se necesita recorrer el árbol. Al
contrario que las listas enlazadas, los
árboles binarios no tienen realmente un
primer valor, un segundo valor, tercer
valor, etc.
Recorrido.
• Un recorrido de un árbol binario requiere
que cada nodo del árbol sea procesado
una vez y sólo una en una secuencia
predeterminada. Existen dos enfoques
generales para la secuencia de recorrido,
profundidad y anchura.
Recorrido en profundidad
El proceso exige un camino desde el raíz
a través de un hijo, al descendiente más
lejano del primer hijo antes de proseguir a
un segundo hijo. En otras palabras, en el
recorrido en profundidad, todos los
descendientes de un hijo se procesan
antes del siguiente hijo.
Recorrido en anchura
En l proceso se realiza horizontalmente
desde el raíz a todos sus hijos, a
continuación a los hijos de sus hijos y
así sucesivamente hasta que todos los
nodos han sido procesados. En otras
palabras, en el recorrido en anchura, cada
nivel se procesa totalmente antes de que
comience el siguiente nivel.
Tipos de recorrido.
Recorrido preorden
El recorrido preorden (NID) conlleva los
siguientes pasos, en los que el raíz va
antes que los subárboles:
1. Recorrer el raíz (N).
2. Recorrer el subárbol izquierdo (I)
en preorden.
3. Recorrer el subárbol derecho (D)
en preorden.
Recorrido enorden.
• El recorrido en orden (inorder) procesa
primero el subárbol izquierdo, después
el raíz y a continuación el subárbol
derecho.
1. Recorrer el subárbol izquierdo
(l)en inorden.
2. Visitar el nodo raíz (N).
3. Recorrer el subárbol derecho ( I )
en inorden.
Recorrido postorden.
• El recorrido postorden (IDN) procesa el
nodo raíz (post) después de que los
subárboles izquierdo y derecho se ha
procesado. Se comienza situándose en la
hoja más a la izquierda y se procesa. A
continuación se procesa su subárbol
derecho.
• 1. Recorrer el subárbol izquierdo (I) en
postorden.
• 2. Recorrer el subárbol derecho (D) en
postorden.
• 3. Visitar el nodo raíz (N).
Ejercicio…
• Recorrido
Pre-orden: 2 5 1 7 4 8 10 12
In-orden: 1 7 5 4 2 8
12 10
Post-orden:7 1 4 5 12 10 8 2
Códigos fuente y presentación.
http://heliocrew.blogspot.com

Más contenido relacionado

La actualidad más candente

Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
Ordenamiento de Archivos en Java
Ordenamiento de Archivos en JavaOrdenamiento de Archivos en Java
Ordenamiento de Archivos en JavaErick Barzallo
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptxBASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptxJose walter Vega Acebey
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosYarquiri Claudio
 
ESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdfESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdfKEVINDAVIDTOPONSALAZ
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Ariel Tonatiuh Espindola
 
Operaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensionalOperaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensionalCristian Quinteros
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relaciondrakul09
 

La actualidad más candente (20)

Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
cc302modulo2
cc302modulo2cc302modulo2
cc302modulo2
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Ordenamiento de Archivos en Java
Ordenamiento de Archivos en JavaOrdenamiento de Archivos en Java
Ordenamiento de Archivos en Java
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptxBASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
 
Grafos
GrafosGrafos
Grafos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Grafos
GrafosGrafos
Grafos
 
ESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdfESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdf
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 
Mergesort
MergesortMergesort
Mergesort
 
Operaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensionalOperaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensional
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Modelo entidad relacion-reduccion_a_tablas
Modelo entidad relacion-reduccion_a_tablasModelo entidad relacion-reduccion_a_tablas
Modelo entidad relacion-reduccion_a_tablas
 
Modelo Entidad - Relacion
Modelo Entidad - RelacionModelo Entidad - Relacion
Modelo Entidad - Relacion
 
Arboles y grafos
Arboles y grafosArboles y grafos
Arboles y grafos
 
Capitulo1 grafos
Capitulo1 grafosCapitulo1 grafos
Capitulo1 grafos
 

Destacado

Destacado (20)

Actividad Teoría de Árboles.
Actividad Teoría de Árboles.Actividad Teoría de Árboles.
Actividad Teoría de Árboles.
 
Teoría de decisión
Teoría de decisiónTeoría de decisión
Teoría de decisión
 
Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011
 
Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
Matematica discretas presentación inicial
Matematica discretas  presentación inicialMatematica discretas  presentación inicial
Matematica discretas presentación inicial
 
Proyecto matediscreta
Proyecto matediscretaProyecto matediscreta
Proyecto matediscreta
 
Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1
 
Arboles
ArbolesArboles
Arboles
 
Teoría de árboles
Teoría de árbolesTeoría de árboles
Teoría de árboles
 
Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Arboles con raiz
Arboles con raizArboles con raiz
Arboles con raiz
 
17 Introduccion Arboles
17 Introduccion Arboles17 Introduccion Arboles
17 Introduccion Arboles
 
Arboles
ArbolesArboles
Arboles
 
Relaciones binarias aux
Relaciones binarias auxRelaciones binarias aux
Relaciones binarias aux
 
Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica Discreta
 
Arboles
ArbolesArboles
Arboles
 
Matematica discreta diapositivas nº 1
Matematica discreta   diapositivas nº 1Matematica discreta   diapositivas nº 1
Matematica discreta diapositivas nº 1
 
Matemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul RobertoMatemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul Roberto
 

Similar a Estructura de datos

Similar a Estructura de datos (20)

Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Diapositiva de prueba
Diapositiva de pruebaDiapositiva de prueba
Diapositiva de prueba
 
tema4.pdf
tema4.pdftema4.pdf
tema4.pdf
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
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
 
ARBOLES BINARIOS
ARBOLES BINARIOSARBOLES BINARIOS
ARBOLES BINARIOS
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructuras No Lineales
Estructuras No LinealesEstructuras No Lineales
Estructuras No Lineales
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
Arboles
ArbolesArboles
Arboles
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
C11.1. árboles
C11.1. árbolesC11.1. árboles
C11.1. árboles
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
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
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 

Último

Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIACOMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIAWilian24
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxcandy torres
 
animalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfanimalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfSofiaArias58
 
Planeacion para 1er Grado - (2023-2024)-1.docx
Planeacion para 1er Grado - (2023-2024)-1.docxPlaneacion para 1er Grado - (2023-2024)-1.docx
Planeacion para 1er Grado - (2023-2024)-1.docxSarisdelosSantos1
 
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...Agrela Elvixeo
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteinmaculadatorressanc
 
1ERGRA~2.PDF EVALUACION DIAGNOSTICA 2024
1ERGRA~2.PDF EVALUACION DIAGNOSTICA 20241ERGRA~2.PDF EVALUACION DIAGNOSTICA 2024
1ERGRA~2.PDF EVALUACION DIAGNOSTICA 2024hlitocs
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdfDemetrio Ccesa Rayme
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdfDemetrio Ccesa Rayme
 
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdfEFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdfsalazarjhomary
 
Apunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdfApunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdfGonella
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxLorenaHualpachoque
 

Último (20)

Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIACOMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
animalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfanimalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdf
 
Planeacion para 1er Grado - (2023-2024)-1.docx
Planeacion para 1er Grado - (2023-2024)-1.docxPlaneacion para 1er Grado - (2023-2024)-1.docx
Planeacion para 1er Grado - (2023-2024)-1.docx
 
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
1ERGRA~2.PDF EVALUACION DIAGNOSTICA 2024
1ERGRA~2.PDF EVALUACION DIAGNOSTICA 20241ERGRA~2.PDF EVALUACION DIAGNOSTICA 2024
1ERGRA~2.PDF EVALUACION DIAGNOSTICA 2024
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdf
 
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdfEFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
 
Apunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdfApunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdf
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 

Estructura de datos

  • 1. Árboles Contenido: •Árboles generales. * Algunas definiciones. *Árboles binarios. *Estructura de un árbol. *Recorrido de un árbol. *Conversión de árboles
  • 2. Introducción. • Los árboles son estructuras de datos no lineales. • Al contrario que las estructuras y las listas enlazadas que constituyen estructuras lineales. • El campo de aplicación es inmenso.
  • 3. Conceptos clave. • Árbol. • Árbol binario. • Árbol binario de búsqueda. • Conceptos teóricos (nivel, profundidad, raíz, hoja, rama…) • Nodo. • In-orden. • Pre-orden. • Post-orden. • Recorrido de un árbol. • Subárbol.
  • 4. Árbol general. • Intuitivamente el concepto de árbol implica una estructura en la que los datos se organizan de modo que los elementos de información están relacionados entre sí a través de ramas.
  • 5. Un árbol. • Un árbol consta de un conjunto finito de elementos, denominados nodos y un conjunto finito de líneas dirigidas, denominadas ramas, que conectan los nodos. El número de ramas asociado con un nodo es el grado del nodo.
  • 6. Definiciones. • Definición 1: Un árbol consta de un conjunto finito de elementos, llamados nodos y un conjunto finito de líneas dirigidas, llamadas ramas, que conectan los nodos. • Definición 2: Un árbol es un conjunto de uno o más nodos tales que: 1. Hay un nodo diseñado especialmente llamado raíz. 2. Los nodos restantes se dividen en n>=0 conjuntos disjuntos tales que ,... ,en donde cada uno de estos conjuntos es un árbol. A T,… , ... se les denomina subárboles del raíz. T1 Tn T2 Tn
  • 9. El nivel y camino.
  • 10. Definición de nivel. • El nivel de un nodo es su distancia hasta la raíz. La altura de un árbol es el nivel de la hoja del camino más largo desde el raíz más uno.
  • 11. Sub-árbol • Un subárbol es cualquier estructura conectada por debajo de la raíz
  • 12. Definición recursiva de árbol: • Un árbol es un conjunto de nodos que: 1. Es vacío, o bien, 2. Tiene un nodo determinado llamado raíz del que jerárquicamente descienden cero o mas subárboles, que también son árboles.
  • 13. El equilibrio….. • Un árbol está equilibrado cuando, dado un número máximo de k hijos para cada nodo y la altura del árbol h, cada nodo de nivel l < h - 1 tiene exactamente k hijos. El árbol está equilibrado perfectamente cuando cada nodo de nivel l < h tiene exactamente k hijos.
  • 16. Representación de un árbol • Numérica: 51 51-1 … 51-2 51-21 52-22 ... 52-99 51-3 • Descripción: Computaroda drivers ALU … ROM Teclado … Periféricos Escáner …
  • 17. Representación de lista. • Raíz (B (E, F), C, D (G, H, I)).
  • 18. ÁRBOLES BlNARlOS • Un árbol binario es un árbol en el que ningún nodo puede tener más de dos subárboles. En un árbol binario, cada nodo puede tener, cero, uno o dos hijos (subárboles).
  • 20. Un árbol binario.. • Un árbol binario es una estructura recursiva. • Un árbol binario se divide en tres subconjuntos disjuntos: • {R} Nodo raíz • {I, I_1,I_2} Subárbol izquierdo de R • {D, D_1, D_2} Subárbol derecho de R
  • 21. Árbol degenerado… Es aquel en el que existe un solo nodo hoja ( 4 ) y cada nodo no hoja sólo tiene un hijo.
  • 22. Estructura de un árbol binario
  • 23. Representación en C. typedef struct nodo puntero-arbol; typedef struct nodo { int datos; puntero-arbol hijo-izdo, hijo-dcho; } ; --------------------------------------------------------------------- typedef int TipoElemento; / * Puede ser cualquier tipo * / struct Nodo { TipoElemento Info; struct Nodo *hijo-izdo, *hijo-dcho; }; typedef struct Nodo ElementodeArbolBin; typedef ElementodeArbolBin *ArbolBinario;
  • 24. ArbolBinario CrearNodo(TipoE1emento x){ ArbolBinario a; a = (ArbolBinario) malloc(sizeof(ElementoDeArbolBin ) ) ; a -> Info = x; a-> hijo-dcho = a -> hijo-izdo = NULL; return a; }
  • 25. Crear un árbol binario de raíz 9, rama izquierda 7 y rama derecha 11: ArbolBinario raiz; raiz = CrearNodo(9); raiz -> hijo-izdo = CrearNodo(7); raiz -> hijo-dcho = CrearNodo(11);
  • 26. Operaciones con arboles binarios. • Determinar su altura. • Determinar su número de elementos. • Hacer una copia. • Visualizar el árbol binario en pantalla o en impresora. • Determinar si dos árboles binarios son idénticos. • Borrar (eliminar el árbol). • Si es un árbol de expresión, evaluar la expresión. • Si es un árbol de expresión, obtener la forma de paréntesis de la expresión.
  • 27. Árboles de expresión. • Una expresión es una secuencia de tokens (componentes de léxicos que siguen unas reglas prescritas). Un token puede ser o bien un operando o bien un operador.
  • 29. Propiedades… • Un árbol de expresión es un árbol binario con las siguientes propiedades: 1. Cada hoja es un operando. 2. Los nodos raíz e internos son operadores. 3. Los subárboles son subexpresiones en las que el nodo raíz es un operador.
  • 30. Conversión general-binario • 1.- La raíz de B es la raíz de A. • 2.- a) Enlazar al nodo raíz con el camino que conecta al nodo más a la izquierda(su hijo). b) Enlazar este nodo con los restantes descendientes del nodo raíz en un camino, con lo que se forma el nivel 1. c) Repetir los pasos a) y b) con los nodos del nivel 2, enlazando siempre en un mismo camino todos los hermanos –descendientes del mismo- Repetir estos pasos hasta llegar al nivel más alto. 3.- Girar el diagrama 45 para diferenciar los subárboles
  • 37. Recorrido de un árbol. • Para consultar los datos almacenados en un árbol se necesita recorrer el árbol. Al contrario que las listas enlazadas, los árboles binarios no tienen realmente un primer valor, un segundo valor, tercer valor, etc.
  • 38. Recorrido. • Un recorrido de un árbol binario requiere que cada nodo del árbol sea procesado una vez y sólo una en una secuencia predeterminada. Existen dos enfoques generales para la secuencia de recorrido, profundidad y anchura.
  • 39. Recorrido en profundidad El proceso exige un camino desde el raíz a través de un hijo, al descendiente más lejano del primer hijo antes de proseguir a un segundo hijo. En otras palabras, en el recorrido en profundidad, todos los descendientes de un hijo se procesan antes del siguiente hijo.
  • 40. Recorrido en anchura En l proceso se realiza horizontalmente desde el raíz a todos sus hijos, a continuación a los hijos de sus hijos y así sucesivamente hasta que todos los nodos han sido procesados. En otras palabras, en el recorrido en anchura, cada nivel se procesa totalmente antes de que comience el siguiente nivel.
  • 42. Recorrido preorden El recorrido preorden (NID) conlleva los siguientes pasos, en los que el raíz va antes que los subárboles: 1. Recorrer el raíz (N). 2. Recorrer el subárbol izquierdo (I) en preorden. 3. Recorrer el subárbol derecho (D) en preorden.
  • 43. Recorrido enorden. • El recorrido en orden (inorder) procesa primero el subárbol izquierdo, después el raíz y a continuación el subárbol derecho. 1. Recorrer el subárbol izquierdo (l)en inorden. 2. Visitar el nodo raíz (N). 3. Recorrer el subárbol derecho ( I ) en inorden.
  • 44. Recorrido postorden. • El recorrido postorden (IDN) procesa el nodo raíz (post) después de que los subárboles izquierdo y derecho se ha procesado. Se comienza situándose en la hoja más a la izquierda y se procesa. A continuación se procesa su subárbol derecho.
  • 45. • 1. Recorrer el subárbol izquierdo (I) en postorden. • 2. Recorrer el subárbol derecho (D) en postorden. • 3. Visitar el nodo raíz (N).
  • 47. • Recorrido Pre-orden: 2 5 1 7 4 8 10 12 In-orden: 1 7 5 4 2 8 12 10 Post-orden:7 1 4 5 12 10 8 2
  • 48. Códigos fuente y presentación. http://heliocrew.blogspot.com