Matemática Discreta

Anuncio
Matemática Discreta
Práctica 5 de laboratorio
noviembre de 2010
1.
Algortimo de Dijkstra
Se pide programar, tanto en C como en Haskell, el algoritmo del camino más
corto sobre grafos dirigidos
Se cuenta con el material disponible en la página del curso. También estarán
disponibles archivos para el programa C, los cuales ejemplifican el formato de
la entrada que debe aceptar el programa y la salida que debe producir.
2.
Árboles recubridores minimales
Al igual que para el algoritmo de Dijkstra, el material necesario para resolver
estos problemas estarán disponible en el sitio del curso.
Para el algortimo de Prim, se pide implementar la solución tanto en C como
en Haskell.
3.
Formato de entrada y salida para C
Junto a los programas fuente, se encuentran dos ejemplos de la entrada que
debe aceptar el programa y la salida que debe producir para esa entrada. En
esta sección se describe brevemente qué representan los datos que éstos archivos
contienen.
Los programas deben aceptar datos de entrada estándar y escribir los resultados en la salida estándar.
3.1.
Algortimo de Dijkstra
Los datos de entrada son:
Un número n que representa la cantidad de vértices en el grafo
n lı́neas con n enteros cada una, que representan la matriz de adyacencia
del grafo, donde la entrada i, j de la matriz indica el peso de la arista (i, j).
Si una arista no pertenece al grafo, su peso es 0. Puede asumirse que la
matriz tiene diagonal nula.
Un número entero m, que indica la cantidad de casos con los que se probará el programa
1
m lı́neas con una par de números a, z, tales que 1 ≤ a, z ≤ n.
Para cada uno de los m casos de prueba, debe calcularse el costo del camino
más corto de a a z, y el camino que debe recorrerse para obtener dicho costo.
3.2.
Algoritmo de Prim
La entrada se compone de:
Dos números enteros n y m, que indican la cantidad de vértices y aristas
del grafo.
m lı́neas con tres números u, v, p cada una, tales que 1 ≤ u, v ≤ n. Esta
terna de números indica que el grafo tiene una arista (no dirigida) de u a
v con peso p.
La salida debe mostrar el peso del árbol mı́nimo, y cada una de las aristas
que forman parte de él.
Descargar