Estructuras de Datos y de la Información II -
Cuestiones y ejercicios
Última modificación: 03/03/10
Cuestión 1
Mostrar un ejemplo pequeño de grafo donde los árboles construidos por BFS y DFS
no coinciden.
Cuestión 2
Para cada una de las siguientes situaciones:
- v es adyacente a u, y estado[v] = N en el momento de descubrir u.
- v es adyacente a u, y estado[v] = N en el momento de visitar u.
- v es accesible desde u, y estado[v] = N en el momento de
descubrir u.
- v es accesible desde u, y estado[v] = N en el momento de
visitar u.
Indicar si al final del algoritmo se dará necesariamente o no
cada uno de estos dos casos:
- π[v] = u.
- v desciende de u en el árbol construido por el
algoritmo.
Responder a las preguntas para BFS y DFS.
En DFS, responder a las mismas preguntas también para
estado[v] = V y estado[v] = P.
Para las respuestas afirmativas razonar la respuesta, y para las
negativas mostrar un contraejemplo.
Nota: para BFS, 'descubrir' un nodo significa introducirlo en la
cola, y 'visitar' es extraerlo de la cola. En el caso de DFS, descubrir y
visitar es lo mismo.
Cuestión 3
-
¿El algoritmo de recorrido en anchura BFS cumple el teorema del
paréntesis?
-
¿El algoritmo de recorrido en anchura BFS cumple el
teorema del camino blanco?
-
Si trasladamos la definición de 'arco hacia atrás' a
un árbol construido por BFS:
-
¿Puede haber un grafo acíclico sin arcos hacia
atrás?
-
¿Puede haber un arco hacia atrás en un grafo
acíclico?
En todas las preguntas anteriores, en caso de respuesta afirmativa dar una demostración rigurosa, y
en otro caso mostrar un contraejemplo.
Cuestión 4
-
Mostrar un ejemplo donde la solución
al problema de los caminos de coste mínimo no coincide con la del árbol
abarcador mínimo.
-
¿El algoritmo de Prim funciona con
grafos dirigidos? En caso afirmativo, dar un argumento riguroso, y en caso
contrario mostrar un contraejemplo.