SlideShare una empresa de Scribd logo
1 de 22
ESTRUCTURA DE DATOS 
ARBOLES
¿QUE ES ? 
• UN ÁRBOL ES UN CONJUNTO, DE VÉRTICES Y ARCOS QUE SATISFACEN CIERTOS 
REQUERIMIENTOS. UN VÉRTICE ES UN OBJETO SIMPLE (CONOCIDO TAMBIÉN COMO NODO) 
QUE PUEDE TENER UN NOMBRE, ADEMÁS DE CIERTA INFORMACIÓN; UN ARCO ES LA UNIÓN 
ENTRE DOS VÉRTICES.
INTRODUCCIÓN 
• LAS ESTRUCTURAS ARRAY Y LISTAS SON ESTRUCTURAS DE DATOS LINEALES. 
A CADA ELEMENTO LE CORRESPONDÍA SIEMPRE UN SIGUIENTE ELEMENTO. 
• LOS ARBOLES Y GRAFOS SON ESTRUCTURAS DE DATOS NO LINEALES PUESTO 
QUE PUEDEN TENER DIFERENTES SIGUIENTES ELEMENTOS, Y TAMBIÉN SE 
CONOCEN COMO ESTRUCTURAS MULTI - ENLAZADAS
TERMINOLOGIAS 
• UNA RUTA, EN UN ÁRBOL, ES UNA LISTA DE DIFERENTES VÉRTICES EN LA QUE 
LOS VÉRTICES CONSECUTIVOS SE CONECTAN POR MEDIO DE ARCOS DENTRO 
DEL ÁRBOL. 
• EXISTE EXACTAMENTE UNA RUTA ENTRE LA RAÍZ Y UN NODO
TERMINOLOGIAS 
• CADA NODO EXCEPTO LA RAÍZ , TIENE EXACTAMENTE UN NODO ARRIBA DE EL 
(PADRE) ASÍ, LOS NODOS QUE SE ENCUENTRAN DIRECTAMENTE ABAJO DE 
ALGÚN NODO SE DENOMINA (HIJO)
TERMINOLOGIAS 
• NODO HIJO: CUALQUIERA DE LOS 
NODOS APUNTADOS POR UNO DE 
LOS NODOS DEL ÁRBOL. EN EL 
EJEMPLO, 'L' Y 'M' SON HIJOS DE 
'G'. 
• NODO PADRE: NODO QUE 
CONTIENE UN PUNTERO AL NODO 
ACTUAL. EN EL EJEMPLO, EL NODO 
'A' ES PADRE DE 'B', 'C' Y 'D'
CARACTERÍSTICA 
• CADA NODO SÓLO PUEDE SER APUNTADO POR OTRO NODO, ES DECIR, 
CADA NODO SÓLO TENDRÁ UN PADRE. ESTO HACE QUE ESTOS ÁRBOLES ESTÉN 
FUERTEMENTE JERARQUIZADOS, Y ES LO QUE EN REALIDAD LES DA LA 
APARIENCIA DE ÁRBOLES 
• TODOS LOS NODOS CONTENGAN EL MISMO NÚMERO DE PUNTEROS, ES DECIR, 
USAREMOS LA MISMA ESTRUCTURA PARA TODOS LOS NODOS DEL ÁRBOL. 
ESTO HACE QUE LA ESTRUCTURA SEA MÁS SENCILLA, Y POR LO TANTO 
TAMBIÉN LOS PROGRAMAS PARA TRABAJAR CON ELLOS.
POSICIÓN DENTRO DEL ÁRBOL 
• NODO RAÍZ: NODO QUE NO TIENE PADRE. ESTE ES EL NODO QUE USAREMOS 
PARA REFERIRNOS AL ÁRBOL. EN EL EJEMPLO, ESE NODO ES EL 'A'. 
• NODO HOJA: NODO QUE NO TIENE HIJOS. EN EL EJEMPLO HAY VARIOS: 'F', 
'H', 'I', 'K', 'L', 'M', 'N' Y 'O'. 
• NODO RAMA: SON LOS NODOS QUE NO PERTENECEN A NINGUNA DE LAS 
DOS CATEGORÍAS ANTERIORES. EN EL EJEMPLO: 'B', 'C', 'D', 'E', 'G' Y 'J'.
CARACTERÍSTICAS DEL ÁRBOL, EN RELACIÓN A SU 
TAMAÑO: 
SE REPRESENTA EN CUATRO CONCEPTOS : 
• ORDEN 
• GRADO 
• NIVEL 
• ALTURA
ORDEN 
• ES EL NÚMERO POTENCIAL DE HIJOS QUE PUEDE TENER CADA ELEMENTO DE 
ÁRBOL. DE ESTE MODO, DIREMOS QUE UN ÁRBOL EN EL QUE CADA NODO 
PUEDE APUNTAR A OTROS DOS ES DE ORDEN DOS, SI PUEDE APUNTAR A TRES 
SERÁ DE ORDEN TRES, ETC.
GRADO 
• EL NÚMERO DE HIJOS QUE TIENE EL ELEMENTO CON MÁS HIJOS DENTRO DEL 
ÁRBOL. EN EL ÁRBOL DEL EJEMPLO, EL GRADO ES TRES, YA QUE TANTO 'A' 
COMO 'D' TIENEN TRES HIJOS, Y NO EXISTEN ELEMENTOS CON MÁS DE TRES 
HIJOS.
NIVEL 
• SE DEFINE PARA CADA ELEMENTO DEL ÁRBOL COMO LA DISTANCIA A LA RAÍZ, 
MEDIDA EN NODOS. EL NIVEL DE LA RAÍZ ES CERO Y EL DE SUS HIJOS UNO. ASÍ 
SUCESIVAMENTE. EN EL EJEMPLO, EL NODO 'D' TIENE NIVEL 1, EL NODO 'G' 
TIENE NIVEL 2, Y EL NODO 'N', NIVEL 3.
ALTURA 
• LA ALTURA DE UN ÁRBOL SE DEFINE COMO EL NIVEL DEL NODO DE MAYOR 
NIVEL. COMO CADA NODO DE UN ÁRBOL PUEDE CONSIDERARSE A SU VEZ 
COMO LA RAÍZ DE UN ÁRBOL, TAMBIÉN PODEMOS HABLAR DE ALTURA DE 
RAMAS. EL ÁRBOL DEL EJEMPLO TIENE ALTURA 3, LA RAMA 'B' TIENE ALTURA 2, 
LA RAMA 'G' TIENE ALTURA 1, LA 'H' CERO, ETC.
EJEMPLO 
• UN ÁRBOL BINARIO SENCILLO DE 
TAMAÑO 9, 4 NIVELES Y ALTURA 3 
(ALTURA = MÁXIMO NIVEL - 1), 
CON UN NODO RAÍZ CUYO VALOR 
ES 2.
ÁRBOL BINARIO 
• ES UNA ESTRUCTURA DE DATOS EN LA CUAL CADA NODO SIEMPRE TIENE UN 
HIJO IZQUIERDO Y UN HIJO DERECHO. NO PUEDEN TENER MÁS DE DOS HIJOS 
(DE AHÍ EL NOMBRE "BINARIO"). SI ALGÚN HIJO TIENE COMO REFERENCIA A 
NULL, ES DECIR QUE NO ALMACENA NINGÚN DATO, ENTONCES ESTE ES 
LLAMADO UN NODO EXTERNO.
TIPOS DE ARBOLES BINARIOS 
• UN ÁRBOL BINARIO LLENO ES UN ÁRBOL EN EL QUE CADA NODO TIENE CERO 
O DOS HIJOS, ES DECIR SU FACTOR DE EQUILIBRIO ES 0 
• UN ÁRBOL BINARIO PERFECTO ES UN ÁRBOL BINARIO LLENO EN EL QUE TODAS 
LAS HOJAS (VÉRTICES CON CERO HIJOS) ESTÁN A LA MISMA PROFUNDIDAD 
(DISTANCIA DESDE LA RAÍZ, TAMBIÉN LLAMADA ALTURA).
RECORRIDOS SOBRE ÁRBOLES BINARIOS 
• RECORRIDOS EN PROFUNDIDAD 
• RECORRIDO EN PREORDEN 
• RECORRIDO EN POSTORDEN 
• RECORRIDO EN ENORDEN 
• RECORRIDOS EN AMPLITUD (O POR NIVELES)
RECORRIDOS EN PROFUNDIDAD 
• EL MÉTODO DE ESTE RECORRIDO ES TRATAR DE ENCONTRAR DE LA CABECERA 
A LA RAÍZ EN NODO DE UNIDAD BINARIA. AHORA PASAMOS A VER LA 
IMPLEMENTACIÓN DE LOS DISTINTOS RECORRIDOS:
RECORRIDO EN PREORDEN 
• EN ESTE TIPO DE RECORRIDO SE REALIZA CIERTA ACCIÓN (QUIZÁS 
SIMPLEMENTE IMPRIMIR POR PANTALLA EL VALOR DE LA CLAVE DE ESE NODO) 
SOBRE EL NODO ACTUAL Y POSTERIORMENTE SE TRATA EL SUBÁRBOL 
IZQUIERDO Y CUANDO SE HAYA CONCLUIDO, EL SUBÁRBOL DERECHO.
RECORRIDO EN POSTORDEN 
• EN ESTE CASO SE TRATA PRIMERO EL SUBÁRBOL IZQUIERDO, DESPUÉS EL 
DERECHO Y POR ÚLTIMO EL NODO ACTUAL. OTRA FORMA PARA ENTENDER EL 
RECORRIDO CON ESTE MÉTODO SERIA SEGUIR EL ORDEN: NODO IZQUIERDA, 
NODO DERECHA, NODO RAÍZ. EN EL ÁRBOL DE LA FIGURA EL RECORRIDO EN 
POSTORDEN SERÍA: 2, 5, 11, 6, 7, 4, 9, 5 Y 2.
RECORRIDO EN ENORDEN 
• EN ESTE CASO SE TRATA PRIMERO EL SUBÁRBOL IZQUIERDO, DESPUÉS EL NODO 
ACTUAL Y POR ÚLTIMO EL SUBÁRBOL DERECHO.
RECORRIDOS EN AMPLITUD O NIVELES 
• EN ESTE CASO EL RECORRIDO SE REALIZA EN ORDEN POR LOS DISTINTOS 
NIVELES DEL ÁRBOL. ASÍ, SE COMENZARÍA TRATANDO EL NIVEL 1, QUE SOLO 
CONTIENE EL NODO RAÍZ, SEGUIDAMENTE EL NIVEL 2, EL 3 Y ASÍ 
SUCESIVAMENTE.

Más contenido relacionado

La actualidad más candente

Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
fher969
 

La actualidad más candente (20)

Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Árboles N-arios
Árboles N-ariosÁrboles N-arios
Árboles N-arios
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Árbol rojo-negro
Árbol rojo-negroÁrbol rojo-negro
Árbol rojo-negro
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Listas
ListasListas
Listas
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Estructura de datos 2 corte
Estructura de datos 2 corteEstructura de datos 2 corte
Estructura de datos 2 corte
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
 
Representación grafica m er
Representación grafica m erRepresentación grafica m er
Representación grafica m er
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 

Destacado

Diseño organizativo estructura simple
Diseño organizativo estructura simpleDiseño organizativo estructura simple
Diseño organizativo estructura simple
Vanesa Barrales-Molina
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
Huascar Génere
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
GUEOVANNY20
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
claudia contreras
 

Destacado (20)

Unidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOSUnidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOS
 
Árboles como Estructura de Datos
Árboles como Estructura de DatosÁrboles como Estructura de Datos
Árboles como Estructura de Datos
 
Arbol Genealogico Fernandez De La Puente Argentina
Arbol Genealogico Fernandez De La Puente ArgentinaArbol Genealogico Fernandez De La Puente Argentina
Arbol Genealogico Fernandez De La Puente Argentina
 
Diseño organizativo estructura simple
Diseño organizativo estructura simpleDiseño organizativo estructura simple
Diseño organizativo estructura simple
 
Cosultas
CosultasCosultas
Cosultas
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
 
51
5151
51
 
Introduccion a Arboles AVL
Introduccion a Arboles AVLIntroduccion a Arboles AVL
Introduccion a Arboles AVL
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Arboles y grafos
Arboles y grafosArboles y grafos
Arboles y grafos
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de Grafos
 
Curso SQL - Leccion 7
Curso SQL - Leccion 7  Curso SQL - Leccion 7
Curso SQL - Leccion 7
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
áRbol de problemas
áRbol de problemasáRbol de problemas
áRbol de problemas
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
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
 

Último (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
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
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

estructura de arbol

  • 2. ¿QUE ES ? • UN ÁRBOL ES UN CONJUNTO, DE VÉRTICES Y ARCOS QUE SATISFACEN CIERTOS REQUERIMIENTOS. UN VÉRTICE ES UN OBJETO SIMPLE (CONOCIDO TAMBIÉN COMO NODO) QUE PUEDE TENER UN NOMBRE, ADEMÁS DE CIERTA INFORMACIÓN; UN ARCO ES LA UNIÓN ENTRE DOS VÉRTICES.
  • 3. INTRODUCCIÓN • LAS ESTRUCTURAS ARRAY Y LISTAS SON ESTRUCTURAS DE DATOS LINEALES. A CADA ELEMENTO LE CORRESPONDÍA SIEMPRE UN SIGUIENTE ELEMENTO. • LOS ARBOLES Y GRAFOS SON ESTRUCTURAS DE DATOS NO LINEALES PUESTO QUE PUEDEN TENER DIFERENTES SIGUIENTES ELEMENTOS, Y TAMBIÉN SE CONOCEN COMO ESTRUCTURAS MULTI - ENLAZADAS
  • 4. TERMINOLOGIAS • UNA RUTA, EN UN ÁRBOL, ES UNA LISTA DE DIFERENTES VÉRTICES EN LA QUE LOS VÉRTICES CONSECUTIVOS SE CONECTAN POR MEDIO DE ARCOS DENTRO DEL ÁRBOL. • EXISTE EXACTAMENTE UNA RUTA ENTRE LA RAÍZ Y UN NODO
  • 5. TERMINOLOGIAS • CADA NODO EXCEPTO LA RAÍZ , TIENE EXACTAMENTE UN NODO ARRIBA DE EL (PADRE) ASÍ, LOS NODOS QUE SE ENCUENTRAN DIRECTAMENTE ABAJO DE ALGÚN NODO SE DENOMINA (HIJO)
  • 6. TERMINOLOGIAS • NODO HIJO: CUALQUIERA DE LOS NODOS APUNTADOS POR UNO DE LOS NODOS DEL ÁRBOL. EN EL EJEMPLO, 'L' Y 'M' SON HIJOS DE 'G'. • NODO PADRE: NODO QUE CONTIENE UN PUNTERO AL NODO ACTUAL. EN EL EJEMPLO, EL NODO 'A' ES PADRE DE 'B', 'C' Y 'D'
  • 7. CARACTERÍSTICA • CADA NODO SÓLO PUEDE SER APUNTADO POR OTRO NODO, ES DECIR, CADA NODO SÓLO TENDRÁ UN PADRE. ESTO HACE QUE ESTOS ÁRBOLES ESTÉN FUERTEMENTE JERARQUIZADOS, Y ES LO QUE EN REALIDAD LES DA LA APARIENCIA DE ÁRBOLES • TODOS LOS NODOS CONTENGAN EL MISMO NÚMERO DE PUNTEROS, ES DECIR, USAREMOS LA MISMA ESTRUCTURA PARA TODOS LOS NODOS DEL ÁRBOL. ESTO HACE QUE LA ESTRUCTURA SEA MÁS SENCILLA, Y POR LO TANTO TAMBIÉN LOS PROGRAMAS PARA TRABAJAR CON ELLOS.
  • 8. POSICIÓN DENTRO DEL ÁRBOL • NODO RAÍZ: NODO QUE NO TIENE PADRE. ESTE ES EL NODO QUE USAREMOS PARA REFERIRNOS AL ÁRBOL. EN EL EJEMPLO, ESE NODO ES EL 'A'. • NODO HOJA: NODO QUE NO TIENE HIJOS. EN EL EJEMPLO HAY VARIOS: 'F', 'H', 'I', 'K', 'L', 'M', 'N' Y 'O'. • NODO RAMA: SON LOS NODOS QUE NO PERTENECEN A NINGUNA DE LAS DOS CATEGORÍAS ANTERIORES. EN EL EJEMPLO: 'B', 'C', 'D', 'E', 'G' Y 'J'.
  • 9. CARACTERÍSTICAS DEL ÁRBOL, EN RELACIÓN A SU TAMAÑO: SE REPRESENTA EN CUATRO CONCEPTOS : • ORDEN • GRADO • NIVEL • ALTURA
  • 10. ORDEN • ES EL NÚMERO POTENCIAL DE HIJOS QUE PUEDE TENER CADA ELEMENTO DE ÁRBOL. DE ESTE MODO, DIREMOS QUE UN ÁRBOL EN EL QUE CADA NODO PUEDE APUNTAR A OTROS DOS ES DE ORDEN DOS, SI PUEDE APUNTAR A TRES SERÁ DE ORDEN TRES, ETC.
  • 11. GRADO • EL NÚMERO DE HIJOS QUE TIENE EL ELEMENTO CON MÁS HIJOS DENTRO DEL ÁRBOL. EN EL ÁRBOL DEL EJEMPLO, EL GRADO ES TRES, YA QUE TANTO 'A' COMO 'D' TIENEN TRES HIJOS, Y NO EXISTEN ELEMENTOS CON MÁS DE TRES HIJOS.
  • 12. NIVEL • SE DEFINE PARA CADA ELEMENTO DEL ÁRBOL COMO LA DISTANCIA A LA RAÍZ, MEDIDA EN NODOS. EL NIVEL DE LA RAÍZ ES CERO Y EL DE SUS HIJOS UNO. ASÍ SUCESIVAMENTE. EN EL EJEMPLO, EL NODO 'D' TIENE NIVEL 1, EL NODO 'G' TIENE NIVEL 2, Y EL NODO 'N', NIVEL 3.
  • 13. ALTURA • LA ALTURA DE UN ÁRBOL SE DEFINE COMO EL NIVEL DEL NODO DE MAYOR NIVEL. COMO CADA NODO DE UN ÁRBOL PUEDE CONSIDERARSE A SU VEZ COMO LA RAÍZ DE UN ÁRBOL, TAMBIÉN PODEMOS HABLAR DE ALTURA DE RAMAS. EL ÁRBOL DEL EJEMPLO TIENE ALTURA 3, LA RAMA 'B' TIENE ALTURA 2, LA RAMA 'G' TIENE ALTURA 1, LA 'H' CERO, ETC.
  • 14. EJEMPLO • UN ÁRBOL BINARIO SENCILLO DE TAMAÑO 9, 4 NIVELES Y ALTURA 3 (ALTURA = MÁXIMO NIVEL - 1), CON UN NODO RAÍZ CUYO VALOR ES 2.
  • 15. ÁRBOL BINARIO • ES UNA ESTRUCTURA DE DATOS EN LA CUAL CADA NODO SIEMPRE TIENE UN HIJO IZQUIERDO Y UN HIJO DERECHO. NO PUEDEN TENER MÁS DE DOS HIJOS (DE AHÍ EL NOMBRE "BINARIO"). SI ALGÚN HIJO TIENE COMO REFERENCIA A NULL, ES DECIR QUE NO ALMACENA NINGÚN DATO, ENTONCES ESTE ES LLAMADO UN NODO EXTERNO.
  • 16. TIPOS DE ARBOLES BINARIOS • UN ÁRBOL BINARIO LLENO ES UN ÁRBOL EN EL QUE CADA NODO TIENE CERO O DOS HIJOS, ES DECIR SU FACTOR DE EQUILIBRIO ES 0 • UN ÁRBOL BINARIO PERFECTO ES UN ÁRBOL BINARIO LLENO EN EL QUE TODAS LAS HOJAS (VÉRTICES CON CERO HIJOS) ESTÁN A LA MISMA PROFUNDIDAD (DISTANCIA DESDE LA RAÍZ, TAMBIÉN LLAMADA ALTURA).
  • 17. RECORRIDOS SOBRE ÁRBOLES BINARIOS • RECORRIDOS EN PROFUNDIDAD • RECORRIDO EN PREORDEN • RECORRIDO EN POSTORDEN • RECORRIDO EN ENORDEN • RECORRIDOS EN AMPLITUD (O POR NIVELES)
  • 18. RECORRIDOS EN PROFUNDIDAD • EL MÉTODO DE ESTE RECORRIDO ES TRATAR DE ENCONTRAR DE LA CABECERA A LA RAÍZ EN NODO DE UNIDAD BINARIA. AHORA PASAMOS A VER LA IMPLEMENTACIÓN DE LOS DISTINTOS RECORRIDOS:
  • 19. RECORRIDO EN PREORDEN • EN ESTE TIPO DE RECORRIDO SE REALIZA CIERTA ACCIÓN (QUIZÁS SIMPLEMENTE IMPRIMIR POR PANTALLA EL VALOR DE LA CLAVE DE ESE NODO) SOBRE EL NODO ACTUAL Y POSTERIORMENTE SE TRATA EL SUBÁRBOL IZQUIERDO Y CUANDO SE HAYA CONCLUIDO, EL SUBÁRBOL DERECHO.
  • 20. RECORRIDO EN POSTORDEN • EN ESTE CASO SE TRATA PRIMERO EL SUBÁRBOL IZQUIERDO, DESPUÉS EL DERECHO Y POR ÚLTIMO EL NODO ACTUAL. OTRA FORMA PARA ENTENDER EL RECORRIDO CON ESTE MÉTODO SERIA SEGUIR EL ORDEN: NODO IZQUIERDA, NODO DERECHA, NODO RAÍZ. EN EL ÁRBOL DE LA FIGURA EL RECORRIDO EN POSTORDEN SERÍA: 2, 5, 11, 6, 7, 4, 9, 5 Y 2.
  • 21. RECORRIDO EN ENORDEN • EN ESTE CASO SE TRATA PRIMERO EL SUBÁRBOL IZQUIERDO, DESPUÉS EL NODO ACTUAL Y POR ÚLTIMO EL SUBÁRBOL DERECHO.
  • 22. RECORRIDOS EN AMPLITUD O NIVELES • EN ESTE CASO EL RECORRIDO SE REALIZA EN ORDEN POR LOS DISTINTOS NIVELES DEL ÁRBOL. ASÍ, SE COMENZARÍA TRATANDO EL NIVEL 1, QUE SOLO CONTIENE EL NODO RAÍZ, SEGUIDAMENTE EL NIVEL 2, EL 3 Y ASÍ SUCESIVAMENTE.