Está en la página 1de 7

Algoritmos y Estructuras de Datos

GUÍA Nº4
TIPOS DE DATOS ABSTRACTOS NO LINEALES: GRAFOS

I. Aplicación de Conceptos.
1. Dibuje un grafo de orden 6 (y muestre su matriz correspondiente), que cumpla con: (Prueba)
a. Ser un grafo no dirigido.
b. Ser un grafo valuado.
c. Poseer 3 lazos.
d. Poseer una clique de tamaño 4.

2. Si G1(V1,A1), un grafo no dirigido y completo, su grafo complemento G2(V2,A2) está definido


por: (Prueba)
V2 =
A2 =

3. Dibuje un grafo (y muestre su matriz correspondiente), que cumpla con las siguientes condiciones
(Prueba):
a. Sea un grafo de orden 6.
b. Sea un grafo no dirigido.
c. Posea 2 lazos.
d. Posea una clique de tamaño 4.

4. Para el grafo que estableció en la pregunta anterior, dibuje su grafo complemento y señale su
matriz correspondiente (Prueba).

5. Diseñe un grafo (debe indicar conjunto V y conjunto A), que cumpla con las siguientes
condiciones (Prueba):
a. Sea un grafo de orden 4.
b. Sea un grafo no dirigido.
c. Posea un conjunto independiente de tamaño 3.

6. Dibuje un grafo (y muestre su matriz correspondiente), que cumpla con las siguientes
condiciones al mismo tiempo:
a. Poseer 3 componentes conexas.
b. La primera de las componentes conexas sea 2-regular y de orden 4.
c. La segunde componente conexa sea de orden 7 y posea un conjunto independiente de
orden 4.
d. La tercera componente conexa sea el complemento de un grafo que: sea de orden 5 y que
posea conjunto independiente de orden 3.

7. Enumere las características que tendrá un grafo que:


a. Su matriz de adyacencia posee sólo 0 bajo la diagonal principal.
b. Su matriz de adyacencia posee sólo 0.
c. Su matriz de adyacencia sólo posee valores distintos de 0 en la diagonal principal.

1
Algoritmos y Estructuras de Datos

d. Siendo un grafo tipo árbol, se le agrega una arista.


e. Siendo un grafo tipo árbol, se le quita una arista.

8. Muestre gráficamente y su matriz de adyacencia, de un grafo que cumpla con las siguientes
características al mismo tiempo:
a. Sea de orden 9.
b. Sea k-regular, con k = 2.
c. No conexo.
d. Cíclico.

9. Responda:
a. ¿Cuál es el mínimo de ciclos que tiene un grafo 2-regular de n≥3 nodos?
b. ¿Cuál es el máximo de ciclos que tiene un grafo 2-regular conexo de n≥3 nodos?
c. ¿Cuántos arcos tiene un grafo 2-regular de n≥3 nodos?
d. ¿Cuántos puntos de articulación (1) tiene un grafo 2-regular conexo de n≥3 nodos?
e. ¿Qué características tendrá la matriz de un grafo completo?
f. ¿Cuáles son las características necesarias y suficientes para que un grafo se defina como
árbol?

10. Discuta sobre las ventajas y desventajas de los métodos de representación.

11. Para el siguiente grafo:


1 2 3 4 5 6 7
1 0 0 0 0 0 5 0
2 0 0 17 2 0 2 0
3 0 17 0 0 20 0 8
4 0 2 0 0 15 0 0
5 0 0 20 15 0 1 0
6 5 2 4 0 1 0 9
7 0 0 8 0 0 9 0

a. Defina 3 características del grafo.


b. Muestre un recorrido en amplitud y uno en profundidad.
c. Construya el camino mínimo desde el nodo 3 al resto de los nodos. Aplique Dijkstra.
Señale el costo de cada camino.
d. Construya el árbol de cobertura mínimo, señale su costo. Aplique Kruskal.

12. Para el grafo correspondiente a la siguiente matriz de costos: (Prueba)

1 2 3 4 5 6 7 2
1 0 2 17 0 0 0 5
2 2 0 20 0 2 4 0
3 17 20 0 1 4 1 7 1 6
4 0 0 1 0 2 10 0
5 0 2 4 2 0 0 6
6 0 4 1 10 0 0 0 3
7 5 0 7 0 6 0 0

7 4

5 2
Algoritmos y Estructuras de Datos

a. Indique el camino mínimo para ir desde el nodo 3 al nodo 2, usando Dijkstra (muestre en
el grafo la aplicación del algoritmo).
b. Muestre el dibujo del árbol de cobertura mínimo y el costo correspondiente, usando
Kruskal.
c. Indique el recorrido en profundidad partiendo del nodo 4.
d. Indique el recorrido en amplitud partiendo del nodo 6.

13. Para el Grafo:


1 2 3 4 5 6 7 1 2
1 0 60 0 14 0 0 0
2 60 0 40 0 1 0 0 5
3 0 40 0 50 1 1 0
4 14 0 50 0 0 100 0
5 0 1 1 0 0 0 10 4 3 7
6 0 0 1 100 0 0 20
7 0 0 0 0 10 20 0
6

Ayuda: Colocar así los nodos para dibujar el grafo.

a. ¿Cuáles son los caminos mínimos (y el costo) desde el nodo 7 al resto de los nodos?
b. ¿Cuál es el árbol de cobertura mínimo? Señale su costo.
c. ¿Cuál es la secuencia de nodos de un recorrido en profundidad desde el nodo 1?
d. ¿Cuál es la secuencia de nodos de un recorrido en amplitud desde el nodo 1?
e. Defina 3 características del grafo.

14. Para los siguientes grafos:


1 2 3 4 5 6 7 8
1 0 1 1 1 0 0 0 0
2 1 0 0 1 0 0 1 1
3 1 0 0 1 1 1 0 0
4 1 1 1 0 0 1 0 1
5 0 0 1 0 0 1 0 0
6 0 0 0 1 1 0 0 0
7 0 1 0 0 0 0 0 1
8 0 1 0 1 0 0 1 0
Grafo a)
1 4

2 3 6

3 4

4 5

5 2

Grafo b)

3
Algoritmos y Estructuras de Datos

1 2 3 4 5 6 7
1 0 2 0 0 0 0 10
2 2 0 20 0 0 30 0
3 0 20 0 17 25 0 7
4 0 0 17 0 3 10 0
5 0 0 25 3 0 0 6
6 0 30 0 10 0 0 0
7 10 0 7 0 6 0 0
Grafo c)

a. Represente cada grafo de otra forma.


b. Indique si corresponde a un grafo dirigido o no dirigido. Justifique.
c. Indique qué tipo de grafo es.
d. Realice un recorrido en Profundidad.
e. Realice un recorrido en Amplitud.
f. Determine para el grafo b, la alcanzabilidad de cada nodo (2).
g. Para el grafo c, determine el costo del camino mínimo entre 1 y el resto de los nodos; y
entre 3 y el resto de los nodos. Aplique Dijkstra.
h. Determine el árbol de cobertura mínimo para el grafo c.

15. Para los siguientes grafos:


1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0
2 1 0 1 1 1 1 0 2 2 0 3 4 6 9 0
3 0 1 0 1 1 1 0 3 0 3 0 5 2 1 0
4 0 1 1 0 1 1 1 4 0 4 5 0 2 3 4
5 0 1 1 1 0 1 1 5 0 6 2 2 0 2 3
6 0 1 1 1 1 0 1 6 0 9 1 3 2 0 4
7 0 0 0 1 1 1 0 7 0 0 0 4 3 4 0
Grafo (a) Grafo (b)

a. Para el grafo (a) realizar un recorrido en Amplitud y en Profundidad.


b. En el grafo (b) Aplique Dijkstra y muestre los caminos mínimos desde el nodo 1 al resto.
c. Muestre el árbol de cobertura mínimo. Aplique Kruskal.

16. Para el grafo correspondiente a la siguiente matriz de costos:


2
1 2 3 4 5 6
1 0 9 0 20 4 0
2 9 0 50 10 0 0 1 3

3 0 50 0 1 0 2
4 20 10 1 0 30 40 4
5 4 0 0 30 0 3
6 0 0 2 40 3 0
5 6

Indique el camino mínimo para ir desde el nodo 4 al resto de los nodos y su costo correspondiente,
usando Dijkstra (muestre en el grafo la aplicación del algoritmo).

4
Algoritmos y Estructuras de Datos

17. Conceptos sobre grafos y sobre algoritmos Dijkstra y Kruskal. Indique Verdadero o Falso para
las siguientes aseveraciones.

1. Si un grafo posee una clique de k nodos, significa que ese grafo es además k-regular.
2. Si un grafo posee un conjunto independiente de k nodos, entonces el grafo corresponde a un
grafo desconexo.
3. El algoritmo de Kruskal no puede calcular el ACM si el grafo de entrada es un árbol valuado.
4. Si un grafo posee aristas con el mismo costo, todos los árboles de cobertura que se pueden
formar sobre él, serán de costo mínimo.
5. El algoritmo de Dijkstra no se puede aplicar si el grafo es no dirigido.
6. El algoritmo de Dijkstra entregará una respuesta equivocada si todas las aristas del grafo
poseen un costo igual a 1.

5
Algoritmos y Estructuras de Datos

II. Modelamiento y Algoritmos relacionados con Grafos.


1. El algoritmo de Dijkstra entrega un arreglo “NodoAnt” a partir del cual es posible construir todos los
caminos mínimos desde un nodo dado v0 al resto de los nodos. Construya un algoritmo que permita
imprimir todos aquellos caminos desde un nodo v0 cualquiera.

2. Construya un algoritmo que permita definir si un grafo No Dirigido es o no conexo.

3. Construya un algoritmo que permita indique la cantidad de componentes conexas que posee un grafo
no conexo.

4. Construya un algoritmo que dado un grafo indique si corresponde o no a un grafo acíclico.

5. Construya un algoritmo que permita definir si un grafo es o no un árbol.

6. (1) Se define como punto de articulación, a aquellos nodos pertenecientes a un grafo no dirigido y
conexo, tales que al retirarlo del grafo, éste se vuelve desconexo. Construya un algoritmo que
determine los puntos de articulación de un grafo no dirigido y conexo.
¿Cuántos puntos de articulación posee un árbol?
¿Cuántos puntos de articulación posee un grafo completo?

7. Se llama puente de 𝐺 a una arista 𝑎 ∈ 𝐴 tal que, si es eliminada del grafo 𝐺, hace que éste sea
desconexo. Construya un algoritmo que determine los puentes de un grafo no dirigido y conexo.

8. (2) Se define la alcanzabilidad, en un grafo dirigido, de un nodo v como el conjunto de nodos a los
que se puede llegar desde v. Genere un algoritmo que, dado un grafo dirigido G y un nodo x, retorne
la lista de nodos que son alcanzables por x.

9. Se define como raíz de un grafo si desde él existe un camino para llegar al resto de los vértices.
Construya un algoritmo que indique qué nodos de un grafo no dirigido, son una raíz.

10. Genere un algoritmo que reciba la matriz de adyacencia de un grafo no dirigido, y a partir de ella,
genere y retorne la matriz correspondiente al grafo complemento correspondiente.

11. Se define como distancia entre dos vértices de un grafo, a la longitud del camino más corto entre
tales nodos. El diámetro de un grafo se define como la mayor distancia entre cada par de vértices
del grafo. Construya un algoritmo para determinar el diámetro de un grafo no dirigido y conexo.

12. Construya un algoritmo que, dada la matriz de adyacencia de un grafo no dirigido y conexo G de
orden n, y un arreglo A con m vértices, indique si la secuencia de vértices establecida en el arreglo
A, corresponde o no a una CLIQUE de orden m, de G.

13. En ciertos problemas de flujo en redes de agua potable, se utiliza un grafo dirigido para modelar la
situación actual. Los nodos corresponden a puntos de enlace de distintas tuberías, identificándose
los nodos fuente, que son los que ingresan agua al sistema, los nodos enlace, que son a los que llegan

6
Algoritmos y Estructuras de Datos

distintas tuberías y desde los cuales salen hacia otros nodos y, los nodos sumidero, que son aquellos
que sólo reciben agua potable (usuarios). Cada tubería tiene una capacidad máxima de flujo.

a. Modele el problema con grafos (indique nodos, aristas, costos, método de representación).
b. Construya un algoritmo que permita saber si un nodo enlace X, puede distribuir la misma
cantidad de agua que recibe.

14. En ciertos problemas de electrónica, el uso de grafos es altamente recomendado. Uno de los métodos
define un grafo dirigido, con aristas rotuladas con el amperaje de una red. Se definen los nodos
internos como aquellos que reciben y aportan corriente al medio, en tanto que los nodos frontera
sólo reciben o sólo entregan corriente. Se solicita:

a. Seleccionar un método de representación para este tipo de grafo.


b. Diseñar la forma de determinar si un nodo es o no frontera.
c. Para los nodos internos se define una condición de equilibrio. Esta consiste en que la suma de
las corrientes entrantes es igual a la suma de las corrientes salientes. Realice un algoritmo para
verificar si un nodo interno está o no en equilibrio.

15. En un sistema de distribución eléctrica, se dispone del estado de las centrales de generación (o
generadoras), y de subestaciones de distribución. Las generadoras abastecen de electricidad a las
subestaciones, las cuales están encargadas de distribuir la electricidad tanto a los usuarios como a
otras subestaciones. Los ingenieros encargados deben vigilar el sistema, y mantenerlo siempre
funcionando. Para ello requiere de su ayuda para responder las siguientes preguntas:

i. Dada una generadora, ¿a qué subestaciones está alimentando?


ii. ¿Existe respaldo ante una falla en alguna generadora? Por respaldo, se refiere a que las
subestaciones que son alimentadas por esta generadora, sigan siendo alimentadas por otra.

a. Indique un método de representación para el grafo de un proyecto.


b. Indique a qué tipo de grafo corresponde.
c. Cree los algoritmos necesarios para responder las preguntas i y ii.

16. La planificación de proyectos, responde a un modelo de grafos, donde las tareas son los nodos y las
dependencias entre ellas, las aristas. En un proyecto grande (sobre 500 tareas) el manejo se hace
dificultoso. Algunas de las preguntas típicas que se hacen son:

i. Si se atrasa la tarea x, ¿qué tareas se ven afectadas directamente?


ii. ¿Cómo se puede saber si una tarea ya está habilitada para ejecutarse? Suponga que posee la
información de todas las tareas que ya están listas.

a. Indique un método de representación para el grafo de un proyecto.


b. Indique a qué tipo de grafo corresponde.
c. Cree los algoritmos necesarios para responder las preguntas i y ii.

También podría gustarte