SlideShare una empresa de Scribd logo
TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad IV: Estructuras no Lineales
Competencia de la Unidad
• Conocer, identificar y aplicar las estructuras no lineales en la solución de
problemas del mundo real.
Estructuras NO Lineales
• A las estructuras de datos no lineales se les llama también estructuras de datos
multi-enlazadas. Cada elemento o NODO puede estar enlazado a cualquier
otro componentes.
• Se trata de estructuras de datos en las que cada elemento puede tener varios
sucesores y/o varios predecesores.
Árboles
Árboles
Un árbol es una estructura de datos
homogénea, dinámica y no lineal, en la que
cada nodo (elemento) puede tener varios
nodos posteriores, pero sólo puede tener
un nodo anterior.
Un árbol es dinámico porque su estructura
puede cambiar durante la ejecución de un
programa. Y no lineal, ya que cada nodo
del árbol puede contener varios nodos que
dependan de él.
• La estructura de un árbol se forma de nodos y arcos (línea que une dos nodos),
el primero de los nodos del árbol recibe el nombre de raíz, del cual se
desprenden los nodos interiores y de éstos los nodos llamados hoja, que son
los nodos que se encuentran al final del árbol; todos ellos en conjunto forman
un árbol.
• Además de comprender el concepto y la estructura de un árbol, debemos
tomar en cuenta otros conceptos básicos que pueden ser útiles en el
momento de construir o programar un árbol, estos conceptos los
clasificaremos en tres rubros:
 Relación con otros nodos,
 Posición dentro del árbol y
 Tamaño del árbol
En relación con otros nodos:
• Padre: es el nodo del cual se derivan otros nodos.
• Hijo: es el nodo que depende de otro.
• Hermano: es el nodo que se encuentra al lado del nodo hijo y que dependen
del mismo nodo padre.
En cuanto a la posición dentro del árbol:
• Raíz: es el primero de los nodos y el único que no contiene un padre.
• Hoja: es el nodo que se encuentra al final del árbol.
• Interior: nodos con uno o más subárboles; nodos que no son hojas.
En relación a su tamaño:
En relación a su tamaño:
Un árbol binario sería un conjunto de 0 o más nodos en el cual existe un nodo
raíz y cada uno de los nodos, incluido el raíz podrán tener 0, 1 o dos subárboles:
 Subárbol izquierdo y subárbol derecho.
 Cada nodo es como máximo de grado 2.
Árboles similares: árboles con la misma estructura.
Árboles equivalentes: árboles con la misma estructura y contienen la misma
información.
Árboles completos o árboles perfectos: todos los nodos, excepto las hojas,
tienen grado 2. Un árbol binario de altura n tiene 2n-1 nodos.
Árbol equilibrado o balanceado: un árbol en el que las alturas de los dos
subárboles de cada uno de los nodos tiene como máximo una diferencia de una
unidad.
Árbol degenerado: todos sus nodos sólo tienen un subárbol.
Terminología:
• .
TRABAJANDO CON ÁRBOLES BINARIOS
• Un árbol binario es una estructura recursiva. Cada nodo es el raíz de su propio
subárbol y tiene hijos, que son raíces de árboles llamados los subárboles
derecho e izquierdo del nodo, respectivamente. Un árbol binario se divide en
tres subconjuntos disjuntos:
RECORRIDO DE UN ÁRBOL BINARIO
• Para visualizar o consultar los datos almacenados en un árbol se necesita
recorrer el árbol o visitar los nodos del mismo. Al contrario que las listas
enlazadas, los árboles binarios no tienen realmente un primer valor, un
segundo valor, tercer valor, etc. Se puede afirmar que el nodo raíz viene el
primero, pero ¿quién viene a continuación? Existen diferentes métodos de
recorrido de árbol ya que la mayoría de las aplicaciones binarias son bastante
sensibles al orden en el que se visitan los nodos, de forma que será preciso
elegir cuidadosamente el tipo de recorrido.
RECORRIDO PREORDEN
El recorrido preorden conlleva los siguientes pasos, en los que el nodo raíz va
antes que los subárboles:
1. Visitar el nodo raíz (N).
2. Recorrer el subárbol izquierdo (I) en preorden.
3. Recorrer el subárbol derecho (D) en preorden.
• Dado las características recursivas de los árboles, el algoritmo de recorrido
tiene naturaleza recursiva. Primero se procesa la raíz, a continuación el
subárbol izquierdo y a continuación el subárbol derecho.
• Para procesar el subárbol izquierdo se siguen los mismos pasos: raíz, subárbol
izquierdo y subárbol derecho (proceso recursivo).
• Luego se hace lo mismo con el subárbol derecho.
Si utilizamos el recorrido preorden del
árbol de la figura se visita primero el raíz
(nodo A); a continuación, se visita el
subárbol izquierdo de A, que consta de los
nodos B, D y E.
Dado que el subárbol es a su vez un árbol,
se visitan los nodos utilizando el mismo
preorden. Por consiguiente, se visita
primero el nodo B, después D (izquierdo) y
por último E (derecho).
A continuación, se visita subárbol derecho
de A, que es un árbol que contiene los
nodos C, F y G. De nuevo, siguiendo el
mismo preorden, se visita primero el nodo
C, a continuación F (izquierdo) y por último
G (derecho).
• Ejercicio: Realizar el recorrido en
preorden del siguiente árbol
binario.
RECORRIDO ENORDEN
• El recorrido enorden (inorder) procesa primero el subárbol izquierdo, después
el raíz y a continuación el subárbol derecho. El significado de en (in) es que la
raíz se procesa entre los subárboles.
• Si el árbol no está vacío, el método implica los siguientes pasos:
1. Recorrer el subárbol izquierdo (I) en enorden.
2. Visitar el nodo raíz (N).
3. Recorrer el subárbol derecho (D) en enorden.
• En el árbol de la figura ejemplo, los
nodos se han numerado en el orden en
que son visitados durante el recorrido
enorden.
• El primer subárbol recorrido es el
subárbol izquierdo del nodo raíz (árbol
cuyo nodo contiene la letra B). Este
subárbol es, a su vez, otro árbol con el
nodo B como raíz, por lo que siguiendo
el enorden, se visita primero D, a
continuación B (nodo raíz) y por último
E (derecha). Después, se visita el nodo
raíz, A.
• Por último, se visita el subárbol derecho
de A, siguiendo el enorden se visita
primero F, después C (nodo raíz) y por
último G.
• Ejercicio: Realizar el recorrido
enorden del siguiente árbol
binario.
RECORRIDO POSTORDEN
• El recorrido postorden procesa el nodo raíz (post) después de que los
subárboles izquierdo y derecho se han 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. Por último, se procesa el nodo raíz.
Las etapas del algoritmo, si el árbol no está vacío, son:
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).
• Si se utiliza el recorrido postorden del
árbol ejemplo se visita primero el
subárbol izquierdo de A. Este subárbol
consta de los nodos B, D y E, y siguiendo
el postorden, se visitará primero D
(izquierdo), luego E (derecho) y, por
último, B (nodo).
• A continuación, se visita el subárbol
derecho de A que consta de los nodos C,
F y G. Siguiendo el postorden para este
árbol, se visita primero F (izquierdo),
después G (derecho) y, por último, C
(nodo).
• Finalmente se visita el nodo raíz A.
• Ejercicio: Realizar el recorrido
postorden del siguiente árbol
binario.
El resultado para los 3 métodos es el siguiente:
Preorden
Postorden
Enorden
ÁRBOLES DESDE LA PROGRAMACIÓN CON MEMORIA DINÁMICA
• Para trabajar un árbol binario desde la programación es necesario crear una
estructura que albergue la información y enlaces de los nodos, esto significa
que nuestro árbol se trabajará por medio de memoria dinámica.
Declaración de estructura y variables tipo nodos:
Lógica del módulo principal:
Módulo recursivo para insertar nodos en el árbol
Recorrido Recursivo en PreOrden:
Recorrido Recursivo en InOrden:
Recorrido Recursivo en PostOrden:
Ejercico:
• Enlazar los módulos vistos en clase en un solo programa y agregar a la rutina
main() el llamado a los recorridos, preOrden, inOrden y postOrden.
• Entregar programa y código ya desarrollados.
Grafos
• Un grafo G agrupa entes físico o conceptuales y las relaciones entre ellos. Por
tanto, un grafo está formado por un conjunto de vértices o nodos V, que
representan a los entes, y un conjunto de arcos A, que representan las
relaciones entre vértices. Se representa con el par G = (V, A).
La figura muestra un grafo G formado por los
vértices V = {1,4,5,7,9} y el conjunto de arcos:
A = {(1, 4), (4, 1), (5, 1), (1, 5), (7, 9),
(9, 7), (7, 5), (5, 7), (4, 9), (9, 4)}
• Un arco o arista representa una relación entre dos nodos. Esta relación, al
estar formada por dos nodos, se representa por (u, v) siendo u, v el par de
nodos.
• El grafo es no dirigido si los arcos están formados por pares de nodos no
ordenados, no apuntados; se representa con un segmento uniendo los
nodos, u ⎯ v.
• Un grafo es dirigido, también denominado digrafo, si los pares de nodos
que forman los arcos son ordenados; se representan con una flecha que
indica la dirección de la relación, u --> v.
El grafo de la sig. figura que consta de los
vértices: V = {C, D, E, F, H}, y de los arcos
A = {(C, D,), (D, F), (E, H), (H, E), (E, C)}
forman el grafo dirigido G = {V, A}
• En los modelos realizados con grafos, a veces, una relación entre dos nodos
tiene asociada una magnitud, denominada factor de peso, en cuyo caso se
dice que es un grafo valorado.
• Por ejemplo: los pueblos que forman una comarca junto a la relación entre un
par de pueblos de estar unidos por un camino: esta relación tiene asociado el
factor de peso, que es la distancia en kilómetros. La figura sig. muestra un
grafo valorado en el que cada arco tiene asociado un peso que es la longitud
entre dos nodos.
Grado de entrada, grado de salida de un nodo
• El grado es una cualidad que se refiere a los nodos de un grafo. En un grafo
no dirigido el grado de un nodo v, grado(v), es el número de arcos que
contiene a v.
• En un grafo dirigido se distingue entre grado de entrada y grado de salida;
grado de entrada de un nodo v, gradent(v), es el número de arcos que llegan
a v; grado de salida de v, gradsal(v), es el número de arcos que salen de v.
Así, en el grafo no dirigido de la figura Comarcas, grado(Lupiana) = 3.
En el grafo dirigido de la figura Letras, gradent(E) = 1 y el gradsal(E) = 2.
Camino
• Un camino P de longitud n desde el vértice v0 a vn en un grafo G, es la
secuencia de n - 1 vértices v0, v1, v2, ..., vn tal que (vi, vi+1) Є A(arcos).
Matemáticamente el camino se representa por P = (v0, v1, v2,..., vn).
En la sig. figura se pueden encontrar
más de un camino; por ejemplo: P1 = (4,
6, 9, 7) es un camino de longitud 3. Otro
de los caminos es P2 = (10, 11), que
tiene de longitud 1.
Por tanto, se puede afirmar que la
longitud del camino es el número de
arcos que lo forman.
Un grafo no dirigido es conexo si existe un camino entre cualquier par de nodos
que forman el grafo. En el caso de un grafo dirigido con esta propiedad se dice
que es fuertemente conexo. Además, un grafo completo es aquél que tiene un
arco para cualquier par de vértices.
Ejercicio: Del siguiente ejemplo de grafo determine sus características de
acuerdo a las definiciones ya vistas:
• Determine el conjunto V;
• Determine los arcos A;
• Determine si es dirigido o no
dirigido
• Determine 3 caminos para
llegar de Badajoz a Gerona y
determine la longitud de cada
camino.
• Determine el grado de los
vértices Madrid, Murcia,
Valladolid, Jaén, y Bilbao.
Bibliografía
• Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España.
2007. ISBN: 978-84-481-5645-9.

Más contenido relacionado

La actualidad más candente

Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
Luis Igoodbad
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
Angel Vázquez Patiño
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
José Antonio Sandoval Acosta
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
Enrique2194
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
deff000001
 
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
Kamila Nicole Molina Orellana
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
knowallrpa
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Hugo Arturo Gonzalez Macias
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
Robert Rivero
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
karlalopezbello
 
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 colasHuascar Génere
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
NANO-06
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
Angel Vázquez Patiño
 

La actualidad más candente (20)

Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
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
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
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
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
 
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
 
COLAS
COLASCOLAS
COLAS
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 

Similar a Estructura de Datos - Unidad 4 Estructuras no lineales

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
José Antonio Sandoval Acosta
 
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
Angel Vázquez Patiño
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
nukeeHE
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
Angeles Quezada
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4lenithoz
 
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 5pootalex
 
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
Eliezer Cordova
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
René Sosa Arana
 
Arboles
ArbolesArboles
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosfavi_hola
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
Noel E Jimenez
 
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptxCap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
ga329963
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
ElmerPichiy
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
Alvaro Enrique Ruano
 
Declaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdfDeclaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdf
Yuriratmiroff
 

Similar a Estructura de Datos - Unidad 4 Estructuras no lineales (20)

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
 
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 datos
Estructura de datosEstructura de datos
Estructura de datos
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
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
 
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 cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Arboles
ArbolesArboles
Arboles
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptxCap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Declaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdfDeclaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdf
 
Arboles
Arboles Arboles
Arboles
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 

Más de José Antonio Sandoval Acosta

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
José Antonio Sandoval Acosta
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
José Antonio Sandoval Acosta
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
José Antonio Sandoval Acosta
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
José Antonio Sandoval Acosta
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
José Antonio Sandoval Acosta
 
Economia
EconomiaEconomia
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
José Antonio Sandoval Acosta
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
José Antonio Sandoval Acosta
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
José Antonio Sandoval Acosta
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
José Antonio Sandoval Acosta
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
José Antonio Sandoval Acosta
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
José Antonio Sandoval Acosta
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
José Antonio Sandoval Acosta
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
José Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
JonathanFernandoRodr
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 

Último (20)

tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 

Estructura de Datos - Unidad 4 Estructuras no lineales

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Estructura de Datos Unidad IV: Estructuras no Lineales
  • 2. Competencia de la Unidad • Conocer, identificar y aplicar las estructuras no lineales en la solución de problemas del mundo real.
  • 3. Estructuras NO Lineales • A las estructuras de datos no lineales se les llama también estructuras de datos multi-enlazadas. Cada elemento o NODO puede estar enlazado a cualquier otro componentes. • Se trata de estructuras de datos en las que cada elemento puede tener varios sucesores y/o varios predecesores.
  • 5. Árboles Un árbol es una estructura de datos homogénea, dinámica y no lineal, en la que cada nodo (elemento) puede tener varios nodos posteriores, pero sólo puede tener un nodo anterior. Un árbol es dinámico porque su estructura puede cambiar durante la ejecución de un programa. Y no lineal, ya que cada nodo del árbol puede contener varios nodos que dependan de él.
  • 6. • La estructura de un árbol se forma de nodos y arcos (línea que une dos nodos), el primero de los nodos del árbol recibe el nombre de raíz, del cual se desprenden los nodos interiores y de éstos los nodos llamados hoja, que son los nodos que se encuentran al final del árbol; todos ellos en conjunto forman un árbol. • Además de comprender el concepto y la estructura de un árbol, debemos tomar en cuenta otros conceptos básicos que pueden ser útiles en el momento de construir o programar un árbol, estos conceptos los clasificaremos en tres rubros:  Relación con otros nodos,  Posición dentro del árbol y  Tamaño del árbol
  • 7. En relación con otros nodos: • Padre: es el nodo del cual se derivan otros nodos. • Hijo: es el nodo que depende de otro. • Hermano: es el nodo que se encuentra al lado del nodo hijo y que dependen del mismo nodo padre. En cuanto a la posición dentro del árbol: • Raíz: es el primero de los nodos y el único que no contiene un padre. • Hoja: es el nodo que se encuentra al final del árbol. • Interior: nodos con uno o más subárboles; nodos que no son hojas.
  • 8. En relación a su tamaño:
  • 9. En relación a su tamaño:
  • 10. Un árbol binario sería un conjunto de 0 o más nodos en el cual existe un nodo raíz y cada uno de los nodos, incluido el raíz podrán tener 0, 1 o dos subárboles:  Subárbol izquierdo y subárbol derecho.  Cada nodo es como máximo de grado 2.
  • 11. Árboles similares: árboles con la misma estructura. Árboles equivalentes: árboles con la misma estructura y contienen la misma información. Árboles completos o árboles perfectos: todos los nodos, excepto las hojas, tienen grado 2. Un árbol binario de altura n tiene 2n-1 nodos. Árbol equilibrado o balanceado: un árbol en el que las alturas de los dos subárboles de cada uno de los nodos tiene como máximo una diferencia de una unidad. Árbol degenerado: todos sus nodos sólo tienen un subárbol. Terminología:
  • 12. • .
  • 13. TRABAJANDO CON ÁRBOLES BINARIOS • Un árbol binario es una estructura recursiva. Cada nodo es el raíz de su propio subárbol y tiene hijos, que son raíces de árboles llamados los subárboles derecho e izquierdo del nodo, respectivamente. Un árbol binario se divide en tres subconjuntos disjuntos:
  • 14. RECORRIDO DE UN ÁRBOL BINARIO • Para visualizar o consultar los datos almacenados en un árbol se necesita recorrer el árbol o visitar los nodos del mismo. Al contrario que las listas enlazadas, los árboles binarios no tienen realmente un primer valor, un segundo valor, tercer valor, etc. Se puede afirmar que el nodo raíz viene el primero, pero ¿quién viene a continuación? Existen diferentes métodos de recorrido de árbol ya que la mayoría de las aplicaciones binarias son bastante sensibles al orden en el que se visitan los nodos, de forma que será preciso elegir cuidadosamente el tipo de recorrido.
  • 15. RECORRIDO PREORDEN El recorrido preorden conlleva los siguientes pasos, en los que el nodo raíz va antes que los subárboles: 1. Visitar el nodo raíz (N). 2. Recorrer el subárbol izquierdo (I) en preorden. 3. Recorrer el subárbol derecho (D) en preorden. • Dado las características recursivas de los árboles, el algoritmo de recorrido tiene naturaleza recursiva. Primero se procesa la raíz, a continuación el subárbol izquierdo y a continuación el subárbol derecho. • Para procesar el subárbol izquierdo se siguen los mismos pasos: raíz, subárbol izquierdo y subárbol derecho (proceso recursivo). • Luego se hace lo mismo con el subárbol derecho.
  • 16. Si utilizamos el recorrido preorden del árbol de la figura se visita primero el raíz (nodo A); a continuación, se visita el subárbol izquierdo de A, que consta de los nodos B, D y E. Dado que el subárbol es a su vez un árbol, se visitan los nodos utilizando el mismo preorden. Por consiguiente, se visita primero el nodo B, después D (izquierdo) y por último E (derecho). A continuación, se visita subárbol derecho de A, que es un árbol que contiene los nodos C, F y G. De nuevo, siguiendo el mismo preorden, se visita primero el nodo C, a continuación F (izquierdo) y por último G (derecho).
  • 17. • Ejercicio: Realizar el recorrido en preorden del siguiente árbol binario.
  • 18. RECORRIDO ENORDEN • El recorrido enorden (inorder) procesa primero el subárbol izquierdo, después el raíz y a continuación el subárbol derecho. El significado de en (in) es que la raíz se procesa entre los subárboles. • Si el árbol no está vacío, el método implica los siguientes pasos: 1. Recorrer el subárbol izquierdo (I) en enorden. 2. Visitar el nodo raíz (N). 3. Recorrer el subárbol derecho (D) en enorden.
  • 19. • En el árbol de la figura ejemplo, los nodos se han numerado en el orden en que son visitados durante el recorrido enorden. • El primer subárbol recorrido es el subárbol izquierdo del nodo raíz (árbol cuyo nodo contiene la letra B). Este subárbol es, a su vez, otro árbol con el nodo B como raíz, por lo que siguiendo el enorden, se visita primero D, a continuación B (nodo raíz) y por último E (derecha). Después, se visita el nodo raíz, A. • Por último, se visita el subárbol derecho de A, siguiendo el enorden se visita primero F, después C (nodo raíz) y por último G.
  • 20. • Ejercicio: Realizar el recorrido enorden del siguiente árbol binario.
  • 21. RECORRIDO POSTORDEN • El recorrido postorden procesa el nodo raíz (post) después de que los subárboles izquierdo y derecho se han 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. Por último, se procesa el nodo raíz. Las etapas del algoritmo, si el árbol no está vacío, son: 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).
  • 22. • Si se utiliza el recorrido postorden del árbol ejemplo se visita primero el subárbol izquierdo de A. Este subárbol consta de los nodos B, D y E, y siguiendo el postorden, se visitará primero D (izquierdo), luego E (derecho) y, por último, B (nodo). • A continuación, se visita el subárbol derecho de A que consta de los nodos C, F y G. Siguiendo el postorden para este árbol, se visita primero F (izquierdo), después G (derecho) y, por último, C (nodo). • Finalmente se visita el nodo raíz A.
  • 23. • Ejercicio: Realizar el recorrido postorden del siguiente árbol binario.
  • 24. El resultado para los 3 métodos es el siguiente: Preorden Postorden Enorden
  • 25. ÁRBOLES DESDE LA PROGRAMACIÓN CON MEMORIA DINÁMICA • Para trabajar un árbol binario desde la programación es necesario crear una estructura que albergue la información y enlaces de los nodos, esto significa que nuestro árbol se trabajará por medio de memoria dinámica. Declaración de estructura y variables tipo nodos:
  • 26. Lógica del módulo principal:
  • 27. Módulo recursivo para insertar nodos en el árbol
  • 31. Ejercico: • Enlazar los módulos vistos en clase en un solo programa y agregar a la rutina main() el llamado a los recorridos, preOrden, inOrden y postOrden. • Entregar programa y código ya desarrollados.
  • 33. • Un grafo G agrupa entes físico o conceptuales y las relaciones entre ellos. Por tanto, un grafo está formado por un conjunto de vértices o nodos V, que representan a los entes, y un conjunto de arcos A, que representan las relaciones entre vértices. Se representa con el par G = (V, A). La figura muestra un grafo G formado por los vértices V = {1,4,5,7,9} y el conjunto de arcos: A = {(1, 4), (4, 1), (5, 1), (1, 5), (7, 9), (9, 7), (7, 5), (5, 7), (4, 9), (9, 4)}
  • 34. • Un arco o arista representa una relación entre dos nodos. Esta relación, al estar formada por dos nodos, se representa por (u, v) siendo u, v el par de nodos. • El grafo es no dirigido si los arcos están formados por pares de nodos no ordenados, no apuntados; se representa con un segmento uniendo los nodos, u ⎯ v.
  • 35. • Un grafo es dirigido, también denominado digrafo, si los pares de nodos que forman los arcos son ordenados; se representan con una flecha que indica la dirección de la relación, u --> v. El grafo de la sig. figura que consta de los vértices: V = {C, D, E, F, H}, y de los arcos A = {(C, D,), (D, F), (E, H), (H, E), (E, C)} forman el grafo dirigido G = {V, A}
  • 36. • En los modelos realizados con grafos, a veces, una relación entre dos nodos tiene asociada una magnitud, denominada factor de peso, en cuyo caso se dice que es un grafo valorado. • Por ejemplo: los pueblos que forman una comarca junto a la relación entre un par de pueblos de estar unidos por un camino: esta relación tiene asociado el factor de peso, que es la distancia en kilómetros. La figura sig. muestra un grafo valorado en el que cada arco tiene asociado un peso que es la longitud entre dos nodos.
  • 37. Grado de entrada, grado de salida de un nodo • El grado es una cualidad que se refiere a los nodos de un grafo. En un grafo no dirigido el grado de un nodo v, grado(v), es el número de arcos que contiene a v. • En un grafo dirigido se distingue entre grado de entrada y grado de salida; grado de entrada de un nodo v, gradent(v), es el número de arcos que llegan a v; grado de salida de v, gradsal(v), es el número de arcos que salen de v.
  • 38. Así, en el grafo no dirigido de la figura Comarcas, grado(Lupiana) = 3. En el grafo dirigido de la figura Letras, gradent(E) = 1 y el gradsal(E) = 2.
  • 39. Camino • Un camino P de longitud n desde el vértice v0 a vn en un grafo G, es la secuencia de n - 1 vértices v0, v1, v2, ..., vn tal que (vi, vi+1) Є A(arcos). Matemáticamente el camino se representa por P = (v0, v1, v2,..., vn). En la sig. figura se pueden encontrar más de un camino; por ejemplo: P1 = (4, 6, 9, 7) es un camino de longitud 3. Otro de los caminos es P2 = (10, 11), que tiene de longitud 1. Por tanto, se puede afirmar que la longitud del camino es el número de arcos que lo forman.
  • 40. Un grafo no dirigido es conexo si existe un camino entre cualquier par de nodos que forman el grafo. En el caso de un grafo dirigido con esta propiedad se dice que es fuertemente conexo. Además, un grafo completo es aquél que tiene un arco para cualquier par de vértices.
  • 41. Ejercicio: Del siguiente ejemplo de grafo determine sus características de acuerdo a las definiciones ya vistas: • Determine el conjunto V; • Determine los arcos A; • Determine si es dirigido o no dirigido • Determine 3 caminos para llegar de Badajoz a Gerona y determine la longitud de cada camino. • Determine el grado de los vértices Madrid, Murcia, Valladolid, Jaén, y Bilbao.
  • 42. Bibliografía • Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España. 2007. ISBN: 978-84-481-5645-9.