Page 1

EJERCICIOS DE ARBOLES Maestría En Sistemas Interactivos Centrados en el Usuario MATEMATICAS DISCRETAS

Sara Madelaine Gutiérrez de Frías Mirian Janet Avalos Viveros Laura Teresa Vázquez Córdoba Ary Jahaziel Rodríguez Cruz Abeyro Jesus Rolando Ramírez Rueda Heber Avalos Viveros


Ejercicios

1.- Sea el grafo no dirigido G de la figura

Solución: •

Describir G formalmente en términos de conjuntos V de nodos y de su conjunto A de aristas. Conjunto V de nodos: V= [R, F, J, H, T, J, F, L] Conjunto A de aristas: A= [L, F, J, T, H, J, F, R]

Encontrar el grado de cada nodo. El grado en V para cada nodo es: [F2, J2, R1, H1, T1, L1] El grado en A para cada no es: [L1, F2, J2, T1, H1, R1]

Realice el árbol binario. El árbol binario sería el siguiente V= [R, F, J, H, T, J, F, L] Viéndose de la siguiente forma:


A= [L, F, J, T, H, J, F, R]

ViĂŠndose de la siguiente forma:

2.- Sea el grafo dirigido de la figura

SoluciĂłn:


Describir el grafo formalmente en términos de conjuntos V de nodos y de su conjunto A de aristas. Para el conjunto V de nodos V= [M, L, K, M, D, K, T] Para el conjunto A de aristas: A= [M, L, K, M, D, K, M, D, L, T]

Encontrar el grado de entrada y el grado de salida de cada vértice. Grado de entrada: [M1] [D1] [K2] [L2] [T2] Grado de salida [M2] [D2] [K2] [L2] [T1]

Encontrar los cambios simpes de vértice M al vértice T. Siendo el camino más simple aquel que va del vértice [M] al vértice [T], por tanto, este sería: [M, L, K, M, D, K, T]


3.- Sea el grafo G de la figura

Solución: •

Encontrar todos los caminos simples del nodo A al nodo F. El camino más simple del nodo [A] al nodo [F] seria: [A, C, P, S, D, F]

Encontrar el camino más corto de C a D. El camino más corto de [C] a [D] seria: [C, P, S, D]

¿Es un grafo conexo? No, no es un grafo conexo, esto debido a que para ser un grafo conexo cada par de vértices está conectado por un camino; es decir, en el grafo anterior no existe conexión [A a S] ó [P a B] e inclusive de [B a M].

4.- Dado el grafo valorado de la figura

Solución: •

Encontrar la matriz de pesos del grafo. Peso de cada arista: A[F, A]= 5


A[V, A]= 8 F[W, F]= 4 L[F, L]= 7 W[L, W]= 9 V[F, V]= 5 •

Representar el grafo mediante listas de adyacencias, siendo esta: [F, A], [A, V], [A, W]. [F, W], [L, V], [W, V], [W, A], [V, W], [V, F], [V, L]

5.- Un grafo G consta de los siguientes nodos V= {A, B, C, D, E} y la matriz de adyacencia:

Solución: •

Dibujar la primera fila como A, la segunda fila como B, la tercera como C, la cuarta como D y la quinta como E. Visualizando la matriz de la siguiente forma.

Siendo el grafo:


Representar el grafo mediante listas de adyacencia. [A, E], [B. D], [D, A], [E, A], [E, D]

Realizar el recorrido del grafo en profundidad partiendo del nodo C.

El tiempo sería: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 •

Realizar el recorrido del grafo en anchura partiendo del nodo C. El recorrido en anchura seria: Distancia


6.- Un grafo dirigido acíclico (GDA) es un grafo dirigido sin ciclos. Dados los siguientes grafos:

Indicar si son GDAs. En caso de no serlo, escribir los ciclos. Solución: •

El grafo de la izquierda ubicándolo como el numero 1 sería un grafo cíclico ya que se puede partir desde su vértice inicial y volver a este mismo. Sus ciclos siendo los siguientes: [A, D, B, F] y [A, W, E, D, B, F]

Para el grafo de la derecha, es decir nuestro segundo grafo podríamos decir que es un grafo a-cíclico debido a que no posee ningún ciclo, es decir, no tiene un camino que vaya desde su inicio y vuelva a este mismo, ya que se encuentra direccionado de tal forma que no permite la realización de un ciclo.

6.- El recorrido en preorden de un determinado árbol binario es: GEAIBMCLDFKJH y en inorden IABEGLDCFMKHJ… Solución: •

Dibujar el árbol binario El árbol binario sería el siguiente:

Recorrido en preorden: GEAIBMCLDFKJH


Recorrido en inorden: IABEGLDCFMKHJ •

Dar el recorrido en postorden Recorrido en postorden: IBAEDLFHJKMG

Diseñar una función para dar el recorrido en postorden dado el recorrido en preorden en orden y escribir un programa para comprobar el resultado del apartado anterior.

#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> Char *postorden; Char *inorden=”IABEGLDCFMKHJ”; Char *preorden=”GEAIBMCLDFKJH” Void post(char *pre, char * in, char * posto, int n) { Int longizq; If(n!=0) } Posto[n-1]=pre[0]: Longizq=strch(in,pre[0]-in; Post(pre+1, in, posto, longizq); Post(pre+1+longizq, in+1+longizq,posto+longizq,n-1,longizq) } } Int main(int arg, char *argv[]) { Int aux; Aux=strlen(preorden); Postorden= (char *)malloc(aux*sizeof(char)); If (postorden) { Printf(“el recorrido en preoorden es: %\n”, preorden); Printf(“el recorrido en inorden es: %\n”, inorden); Post(preorden, inorden, postorden, aux); Postorden[aux]=’\0’; Printf(“el recorrido en postorden es: %\n”, postorden); } Else


} Fprintf(stderr, â&#x20AC;&#x153;error: no hay memoria\nâ&#x20AC;?); Return 1; } Return 0; }

Ejercicios de Arboles  

Ejercicios Matemáticas Discretas

Ejercicios de Arboles  

Ejercicios Matemáticas Discretas

Advertisement