lunes, 16 de abril de 2007

p4: ¿qué trazas pongo?

Por lo menos

traza INFO
cada vez que se mete un nodo en el conjunto S

traza FINE
cada vez que se recalcula (y cambia) la distancia a un nodo
como consecuencia de meter otro en S

puedes usar como inspiración
http://jungla.dit.upm.es/~pepe/doc/lprg/trazas-p4.txt
que son las trazas cuando se ejecuta
DijkstraTestBasico

p4: ¿cómo se usa una lista como un conjunto?

Sea
List S= new ArrayList();

Para meter
S.add(w);
(pueden aparecer duplicados, pero en p4 no importa)

Para ver si pertenece
S.contains(w)

p4: ¿qué campos necesito?

Necesitar, lo que se dice necesitar, sólo necesitas el grafo

private final Grafo grafo;

Salvo justificación muy justificada, dudo que necesites nada más.

En particular v0, destino y S deben ser variables locales de los métodos.

p4: ¿Cómo se tienen conjuntos en java?

Lo más exacto es
java.util.Set
ver
http://jungla.dit.upm.es/~pepe/libros/vademecum/html/ejemplodeuso_9.html

También se puede usar una lista
java.util.List
(aunque quede un poco rarito)

O se puede utilizar un simple array
para apuntar si el nodo pertenece al conjunto o no
boolean[] S= new boolean[grafo.getNumeroNodos()];