Aclaraciones TP Especial 2006 Primera Entrega - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Aclaraciones TP Especial 2006 Primera Entrega

Description:

Implemente el Tipo de Dato Grafo. Implemente una funci n para cargar los datos del ... bajo las cuales los m todos de las interfaces funcionar n correctamente. ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 13
Provided by: exaUni
Category:

less

Transcript and Presenter's Notes

Title: Aclaraciones TP Especial 2006 Primera Entrega


1
AclaracionesTP Especial 2006Primera Entrega
  • Enunciado del problema
  • Diseño sugerido
  • Interfaz básica sugerida
  • Interfaz extendida sugerida
  • Sugerencias para la implementación
  • Requerimientos de la entrega
  • Requisitos adicionales para el informe

2
Enunciado del problema
  • Entorno de desarrollo DEV C
  • Implemente el Tipo de Dato Grafo.
  • Implemente una función para cargar los datos del
    grafo desde un archivo.
  • Implemente los algoritmos para la exploración de
    grafos DFS_Forest y BFS_Forest. Para cada uno de
    ellos muestre por pantalla el bosque resultante.
  • Implemente los algoritmos de Dijkstra y Floyd
    para encontrar los caminos de mínimo costo.
    Muestre por pantalla el costo mínimo entre cada
    par de vértices.
  • Fecha de entrega 26 de Septiembre.

3
Diseño sugerido
  • Implementar (al menos) dos clases
  • Una clase GrafoBase, donde se implementa una
    interfaz mínima de creación y acceso a un grafo
    parametrizado.
  • Una clase GrafoExtendido, que hereda a GrafoBase,
    donde se proveen todos los algoritmos pedidos.

4
Diseño sugerido
  • Es muy importante que las interfaces de las
    clases implementadas nos independicen lo más
    posible de la estructura interna.
  • La mismas deberían permitirnos cambiar la
    representación del grafo (por ejemplo entre lista
    de adyacencia y matriz de adyacencia) sin
    necesidad de cambiar la parte pública de las
    mismas.

5
Interfaz básica sugerida
  • GrafoBaseltDato, Costogt
  • agregar / eliminarVertice(Dato)
  • agregarArco(Dato,Dato,Costo)
  • eliminarArco(Dato,Dato)
  • boolean existeVertice(Dato)
  • Dato costoArco(Dato,Dato)
  • listltDatogt devolverVertices()
  • listltDatogt devolverAdjuntos(Dato)
  • cargarGrafo(FILE)
  • guardarGrafo(FILE)

6
Interfaz básica sugerida
  • Tener en cuenta que pueden incluirse más
    funciones en la interfaz básica. Por ejemplo,
    haría falta un método para devolver una lista de
    los arcos del grafo (incluyendo el peso).

7
Interfaz extendida sugerida
  • GrafoExtendidoltDato, Costogt
  • hereda GrafoBaseltDato, Costogt
  • listltDatogt dfs(Dato)
  • listltDatogt bfs(Dato)
  • ltEstructura DFSgt dfsForest()
  • ltEstructura BFSgt bfsForest()
  • ltEstructura Dijkstragt dijkstra(Dato)
  • ltEstructura Floydgt floyd()

8
Sugerencias para la implementación
  • Deberían definirse (y comentarse en el código)
    las pre-condiciones bajo las cuales los métodos
    de las interfaces funcionarán correctamente.
  • Ninguno de los métodos de las clases del grafo
    implementadas debería imprimir mensajes por
    pantalla para el manejo de errores o
    visualización.

9
Requerimientos para cada una de las entregas
  • 1. Implementación
  • Un disquete o CD que contenga
  • etiqueta con la identificación de los integrantes
    del grupo,
  • código fuente completo
  • archivo ejecutable del programa (que corra en el
    laboratorio de exactas)

10
Requerimientos para cada una de las entregas
  • 2. Informe impreso
  • Carátula con el nombre de los integrantes del
    grupo y el nombre del trabajo
  • Introducción al problema
  • Descripción de los tipos de datos utilizados
  • Detalle de las estructuras de datos utilizadas
    para la implementación de los mismos
  • Análisis de complejidad temporal de los
    algoritmos utilizados
  • Conclusiones
  • NO IMPRIMIR CÓDIGO FUENTE

11
Requisitos adicionales para el informe
  • Incluir un resumen breve del trabajo realizado.
  • Describir brevemente cada uno de los tipos de
    datos correspondientes al grafo implementados.
  • Describir la estructura interna de la clase
    grafo y cada uno de los tipos de datos
    adicionales implementados.
  • Describir la interfaz pública de cada grafo,
    describiendo cada método con sus precondiciones,
    datos devueltos y parámetros. Si se definen tipos
    de datos auxiliares describirlos también.

12
Requisitos adicionales para el informe
  • Como parte del informe incluir una discusión
    sobre las ventajas/desventajas de la
    implementación de los algoritmos solicitados bajo
    las siguientes condiciones
  • Accediendo directamente a la estructura interna
    del grafo (como se realizaría en los métodos de
    la clase GrafoExtendido).
  • Utilizando el grafo exclusivamente a través de la
    interfaz provista por la clase GrafoBase (como se
    realizaría si los algoritmos se implementaran en
    una clase independiente sin utilizar herencia).
  • Considerar aspectos de eficiencia,
    modificabilidad y abstracción de la estructura
    interna.
Write a Comment
User Comments (0)
About PowerShow.com