SlideShare una empresa de Scribd logo
1 de 6
INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO PUERTO 
MATERIA: 
ESTRUCTURA DE DATOS 
DOCENTE: 
NIELS HENRYK ARANA CUEVAS 
UNIDAD 3: 
ESTRUCTURAS LINEALES. 
ALUMNO: 
ANTHONY ALEXIS IC PAMPLONA
ARBOLES 
Los arboles, como los que veremos más adelante, de las inserciones serán siempre en punteros 
de nodos hoja o en punteros libres de nodos rama. Con estas estructuras no es tan fácil 
generalizar, ya que existen muchas variedades de árboles. 
De nuevo tenemos casi el mismo repertorio de operaciones de las que disponíamos con las 
listas: 
• Añadir o insertar elementos. 
• Buscar o localizar elementos. 
• Borrar elementos. 
• Moverse a través del árbol. 
• Recorrer el árbol completo. 
Los algoritmos de inserción y borrado dependen en gran medida del tipo de árbol que estemos 
implementando, de modo que por ahora los pasaremos por alto y nos centraremos más en el 
modo de recorrer árboles.
RECORRIDO 
Hay tres formas de recorrer un árbol completo, y las tres se suelen implementar 
mediante recursividad. En los tres casos se sigue siempre a partir de cada nodo 
todas las ramas una por una. 
Supongamos que tenemos un árbol de orden tres, y queremos recorrerlo por 
completo. 
Partiremos del nodo raíz. 
RecorrerArbol(raiz);
ELIMINAR NODOS EN UN ÁRBOL 
El proceso general es muy sencillo en este caso, pero con una importante limitación, sólo podemos 
borrar nodos hoja: 
El proceso sería el siguiente: 
1.Buscar el nodo padre del que queremos eliminar. 
2.Buscar el puntero del nodo padre que apunta al nodo que queremos borrar. 
3.Liberar el nodo. 
4.padre->nodo[i] = NULL;. 
Cuando el nodo a borrar no sea un nodo hoja, diremos que hacemos una "poda", y en ese caso 
eliminaremos el árbol cuya raíz es el nodo a borrar. Se trata de un procedimiento recursivo, 
aplicamos 
el recorrido PostOrden, y el proceso será borrar el nodo. 
El procedimiento es similar al de borrado de un nodo: 
1.Buscar el nodo padre del que queremos eliminar. 
2.Buscar el puntero del nodo padre que apunta al nodo que queremos borrar. 
3.Podar el árbol cuyo padre es nodo. 
4.padre->nodo[i] = NULL;. 
En el árbol del ejemplo, para podar la rama 'B', recorreremos el subárbol 'B' en postorden, 
eliminando cada nodo cuando se procese, de este modo no perdemos los punteros a las ramas 
apuntadas por cada nodo, ya que esas ramas se borrarán antes de eliminar el nodo. 
De modo que el orden en que se borrarán los nodos será: 
K E F y B
ÁRBOLES ORDENADOS 
A partir del siguiente capítulo sólo hablaremos de árboles ordenados, ya que son los que tienen 
más interés desde el punto de vista de TAD, y los que tienen más aplicaciones genéricas. 
Un árbol ordenado, en general, es aquel a partir del cual se puede obtener una secuencia ordenada 
siguiendo uno de los recorridos posibles del árbol: inorden, preorden o postorden. 
En estos árboles es importante que la secuencia se mantenga ordenada aunque se añadan o se 
eliminen nodos. 
Existen varios tipos de árboles ordenados, que veremos a continuación: 
árboles binarios de búsqueda (ABB): son árboles de orden 2 que mantienen una secuencia 
ordenada si se recorren en inorden. 
árboles AVL: son árboles binarios de búsqueda equilibrados, es decir, los niveles de cada rama 
para cualquier nodo no difieren en más de 1. 
árboles perfectamente equilibrados: son árboles binarios de búsqueda en los que el número de 
nodos de cada rama para cualquier nodo no difieren en más de 1. Son por lo tanto árboles AVL 
también. 
árboles 2-3: son árboles de orden 3, que contienen dos claves en cada nodo y que están también 
equilibrados. También generan secuencias ordenadas al recorrerlos en inorden. 
árboles-B: caso general de árboles 2-3, que para un orden M, contienen M-1 claves.
CONCLUSION: 
Los arboles en c++ son básicamente listas ligadas que tienen varias conexiones a otros nodos 
Dando como resultado una ramificación con nodos padre-hijos

Más contenido relacionado

Destacado (16)

LA DEMOCRACIA EN GRACIA
LA DEMOCRACIA EN GRACIA LA DEMOCRACIA EN GRACIA
LA DEMOCRACIA EN GRACIA
 
Certificado carnet de conducir
Certificado carnet de conducirCertificado carnet de conducir
Certificado carnet de conducir
 
Procesador
ProcesadorProcesador
Procesador
 
#9
#9#9
#9
 
33 сургууль р.болормаа
33 сургууль р.болормаа33 сургууль р.болормаа
33 сургууль р.болормаа
 
Prueba
PruebaPrueba
Prueba
 
Glosario SISTEMA Cardiovascular
Glosario SISTEMA  CardiovascularGlosario SISTEMA  Cardiovascular
Glosario SISTEMA Cardiovascular
 
Rubrica proyectos multimedia
Rubrica proyectos multimediaRubrica proyectos multimedia
Rubrica proyectos multimedia
 
Dtp 801 sub 1
Dtp   801 sub 1Dtp   801 sub 1
Dtp 801 sub 1
 
PROGRAMAS DE CAPACITACIÓN
PROGRAMAS DE CAPACITACIÓNPROGRAMAS DE CAPACITACIÓN
PROGRAMAS DE CAPACITACIÓN
 
Ovarios Presentación
Ovarios PresentaciónOvarios Presentación
Ovarios Presentación
 
Luis quishpi
Luis quishpiLuis quishpi
Luis quishpi
 
Salário de 30.000 Reais aos Médicos
Salário de 30.000 Reais aos MédicosSalário de 30.000 Reais aos Médicos
Salário de 30.000 Reais aos Médicos
 
Laringe
LaringeLaringe
Laringe
 
Planeaciones primer practicade español cuarto semestre
Planeaciones primer practicade español cuarto semestrePlaneaciones primer practicade español cuarto semestre
Planeaciones primer practicade español cuarto semestre
 
Evolución de la web
Evolución de la webEvolución de la web
Evolución de la web
 

Similar a Iv unidad estructuras no lineales

Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
lenithoz
 
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
pootalex
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
Vana Cigarroa
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
Vana Cigarroa
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
rafyel2000
 

Similar a Iv unidad estructuras no lineales (20)

Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdf
 
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 y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
 
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
 
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
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
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
 
Splay tree
Splay treeSplay tree
Splay tree
 
arbol.pdf
arbol.pdfarbol.pdf
arbol.pdf
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Dylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdf
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 

Más de Anthony Alexis Ic Pamplona (6)

Analisis de los algoritmos
Analisis de los algoritmosAnalisis de los algoritmos
Analisis de los algoritmos
 
VI unidad
VI unidadVI unidad
VI unidad
 
V unidad metodos de ordenamiento
V unidad metodos de ordenamientoV unidad metodos de ordenamiento
V unidad metodos de ordenamiento
 
Iii uniddad estructuras lineales
Iii uniddad estructuras linealesIii uniddad estructuras lineales
Iii uniddad estructuras lineales
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 
I unidad
I unidadI unidad
I unidad
 

Último

Último (7)

Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 

Iv unidad estructuras no lineales

  • 1. INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO PUERTO MATERIA: ESTRUCTURA DE DATOS DOCENTE: NIELS HENRYK ARANA CUEVAS UNIDAD 3: ESTRUCTURAS LINEALES. ALUMNO: ANTHONY ALEXIS IC PAMPLONA
  • 2. ARBOLES Los arboles, como los que veremos más adelante, de las inserciones serán siempre en punteros de nodos hoja o en punteros libres de nodos rama. Con estas estructuras no es tan fácil generalizar, ya que existen muchas variedades de árboles. De nuevo tenemos casi el mismo repertorio de operaciones de las que disponíamos con las listas: • Añadir o insertar elementos. • Buscar o localizar elementos. • Borrar elementos. • Moverse a través del árbol. • Recorrer el árbol completo. Los algoritmos de inserción y borrado dependen en gran medida del tipo de árbol que estemos implementando, de modo que por ahora los pasaremos por alto y nos centraremos más en el modo de recorrer árboles.
  • 3. RECORRIDO Hay tres formas de recorrer un árbol completo, y las tres se suelen implementar mediante recursividad. En los tres casos se sigue siempre a partir de cada nodo todas las ramas una por una. Supongamos que tenemos un árbol de orden tres, y queremos recorrerlo por completo. Partiremos del nodo raíz. RecorrerArbol(raiz);
  • 4. ELIMINAR NODOS EN UN ÁRBOL El proceso general es muy sencillo en este caso, pero con una importante limitación, sólo podemos borrar nodos hoja: El proceso sería el siguiente: 1.Buscar el nodo padre del que queremos eliminar. 2.Buscar el puntero del nodo padre que apunta al nodo que queremos borrar. 3.Liberar el nodo. 4.padre->nodo[i] = NULL;. Cuando el nodo a borrar no sea un nodo hoja, diremos que hacemos una "poda", y en ese caso eliminaremos el árbol cuya raíz es el nodo a borrar. Se trata de un procedimiento recursivo, aplicamos el recorrido PostOrden, y el proceso será borrar el nodo. El procedimiento es similar al de borrado de un nodo: 1.Buscar el nodo padre del que queremos eliminar. 2.Buscar el puntero del nodo padre que apunta al nodo que queremos borrar. 3.Podar el árbol cuyo padre es nodo. 4.padre->nodo[i] = NULL;. En el árbol del ejemplo, para podar la rama 'B', recorreremos el subárbol 'B' en postorden, eliminando cada nodo cuando se procese, de este modo no perdemos los punteros a las ramas apuntadas por cada nodo, ya que esas ramas se borrarán antes de eliminar el nodo. De modo que el orden en que se borrarán los nodos será: K E F y B
  • 5. ÁRBOLES ORDENADOS A partir del siguiente capítulo sólo hablaremos de árboles ordenados, ya que son los que tienen más interés desde el punto de vista de TAD, y los que tienen más aplicaciones genéricas. Un árbol ordenado, en general, es aquel a partir del cual se puede obtener una secuencia ordenada siguiendo uno de los recorridos posibles del árbol: inorden, preorden o postorden. En estos árboles es importante que la secuencia se mantenga ordenada aunque se añadan o se eliminen nodos. Existen varios tipos de árboles ordenados, que veremos a continuación: árboles binarios de búsqueda (ABB): son árboles de orden 2 que mantienen una secuencia ordenada si se recorren en inorden. árboles AVL: son árboles binarios de búsqueda equilibrados, es decir, los niveles de cada rama para cualquier nodo no difieren en más de 1. árboles perfectamente equilibrados: son árboles binarios de búsqueda en los que el número de nodos de cada rama para cualquier nodo no difieren en más de 1. Son por lo tanto árboles AVL también. árboles 2-3: son árboles de orden 3, que contienen dos claves en cada nodo y que están también equilibrados. También generan secuencias ordenadas al recorrerlos en inorden. árboles-B: caso general de árboles 2-3, que para un orden M, contienen M-1 claves.
  • 6. CONCLUSION: Los arboles en c++ son básicamente listas ligadas que tienen varias conexiones a otros nodos Dando como resultado una ramificación con nodos padre-hijos