SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad IV: Estructuras no Lineales
Retícula ISIC-2010-224: Programa: AED-1026/2016
Itsguasave.edu.mx
Competencia de la Unidad
• Comprende y aplica estructuras no lineales para la solución de problemas.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
Árboles
ESTRUCTURA DE DATOS
Á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.
ESTRUCTURA DE DATOS
• 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
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
En relación a su tamaño:
ESTRUCTURA DE DATOS
En relación a su tamaño:
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
Á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:
ESTRUCTURA DE DATOS
• .
ESTRUCTURA DE DATOS
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:
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
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).
ESTRUCTURA DE DATOS
• Ejercicio: Realizar el recorrido en
preorden del siguiente árbol
binario.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
• 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.
ESTRUCTURA DE DATOS
• Ejercicio: Realizar el recorrido
enorden del siguiente árbol
binario.
ESTRUCTURA DE DATOS
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).
ESTRUCTURA DE DATOS
• 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.
ESTRUCTURA DE DATOS
• Ejercicio: Realizar el recorrido
postorden del siguiente árbol
binario.
ESTRUCTURA DE DATOS
El resultado para los 3 métodos es el siguiente:
Preorden
Postorden
Enorden
ESTRUCTURA DE DATOS
Á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:
ESTRUCTURA DE DATOS
Lógica del módulo principal:
ESTRUCTURA DE DATOS
Módulo recursivo para insertar nodos en el árbol
ESTRUCTURA DE DATOS
Recorrido Recursivo en PreOrden:
ESTRUCTURA DE DATOS
Recorrido Recursivo en InOrden:
ESTRUCTURA DE DATOS
Recorrido Recursivo en PostOrden:
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
Grafos
ESTRUCTURA DE DATOS
• 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)}
ESTRUCTURA DE DATOS
• 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.
ESTRUCTURA DE DATOS
• 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}
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
• 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.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
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.
ESTRUCTURA DE DATOS
Bibliografía
• Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España.
2007. ISBN: 978-84-481-5645-9.
ESTRUCTURA DE DATOS

Weitere ähnliche Inhalte

Was ist angesagt?

Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
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
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de GrafosSandra Biondi
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
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
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 

Was ist angesagt? (20)

Fila,pila y cola ..
Fila,pila y cola ..Fila,pila y cola ..
Fila,pila y cola ..
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Notacion Asintotica
Notacion AsintoticaNotacion Asintotica
Notacion Asintotica
 
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
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
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
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
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
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
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
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Linked list
Linked listLinked list
Linked list
 
Grafos
GrafosGrafos
Grafos
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
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
 

Ähnlich wie 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 ordenadosAngel Vázquez Patiño
 
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
 
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)Rubi Veronica Chimal Cuxin
 
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ámicasEliezer Cordova
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datosRené Sosa Arana
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y GrafosNoel E Jimenez
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arbolesAarón Jiménez
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosfavi_hola
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arbolesrafyel2000
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfmichaelsilva2k20
 
Dylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylanMedina4
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfLENNYGALINDEZ
 
Arboles ppt
Arboles pptArboles ppt
Arboles pptINFOP
 

Ähnlich wie Estructura de Datos - Unidad IV: Estructuras no Lineales (20)

Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - 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 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
 
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)
 
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
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdf
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Dylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdf
 
Arboles02
Arboles02Arboles02
Arboles02
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
Arboles ppt
Arboles pptArboles ppt
Arboles ppt
 

Mehr von 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 estructurasJosé 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 flujoJosé 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 programacionJosé 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 algoritmosJosé Antonio Sandoval Acosta
 

Mehr von 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
 

Kürzlich hochgeladen

CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptxEfrain Yungan
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasAhmedMontaoSnchez1
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdfManuelVillarreal44
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 

Kürzlich hochgeladen (20)

CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx4.3 Subestaciones eléctricas tipos caracteristicas.pptx
4.3 Subestaciones eléctricas tipos caracteristicas.pptx
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnas
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 

Estructura de Datos - Unidad IV: Estructuras no Lineales

  • 1. Instituto Tecnológico Superior de Guasave Ingeniería en Sistemas Computacionales Estructura de Datos Unidad IV: Estructuras no Lineales Retícula ISIC-2010-224: Programa: AED-1026/2016 Itsguasave.edu.mx
  • 2. Competencia de la Unidad • Comprende y aplica estructuras no lineales para la solución de problemas. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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 ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 8. En relación a su tamaño: ESTRUCTURA DE DATOS
  • 9. En relación a su tamaño: ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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: ESTRUCTURA DE DATOS
  • 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: ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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). ESTRUCTURA DE DATOS
  • 17. • Ejercicio: Realizar el recorrido en preorden del siguiente árbol binario. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 20. • Ejercicio: Realizar el recorrido enorden del siguiente árbol binario. ESTRUCTURA DE DATOS
  • 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). ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 23. • Ejercicio: Realizar el recorrido postorden del siguiente árbol binario. ESTRUCTURA DE DATOS
  • 24. El resultado para los 3 métodos es el siguiente: Preorden Postorden Enorden ESTRUCTURA DE DATOS
  • 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: ESTRUCTURA DE DATOS
  • 26. Lógica del módulo principal: ESTRUCTURA DE DATOS
  • 27. Módulo recursivo para insertar nodos en el árbol ESTRUCTURA DE DATOS
  • 28. Recorrido Recursivo en PreOrden: ESTRUCTURA DE DATOS
  • 29. Recorrido Recursivo en InOrden: ESTRUCTURA DE DATOS
  • 30. Recorrido Recursivo en PostOrden: ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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)} ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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} ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 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. ESTRUCTURA DE DATOS
  • 42. Bibliografía • Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España. 2007. ISBN: 978-84-481-5645-9. ESTRUCTURA DE DATOS