Ayuda con Algoritmo de warshall

Iniciado por gallagher_daniel, 11 Junio 2015, 01:09 AM

0 Miembros y 1 Visitante están viendo este tema.

gallagher_daniel

Hola, necesito implementar el algoritmo de warshall en java, pero con listas de adyacencia.
Se me complica a la hora de usar listas.
Por que con la matriz marcamos con binarios si existe o no un camino que una un vértice i con j, en lista no se como representarlo.
Gracias

Usuario Invitado

Checkate un tuto de listas. De momento, te explico algo.

Una lista es un objeto que permite almacenar todo tipo de objetos. La manera de indicar qué tipo de valores es mediante Generics, que no es más que la firma que se le pone a una lista y que dice qué tipo de objetos almacenará. Por ejemplo:

Código (java) [Seleccionar]
List<Integer> numbers = new ArrayList<>();

Al hacer ésto indicas que la lista numbers solo aceptará números enteros. Si intentas ingresar un double o un String, no te dejará siquiera compilar, de ésta manera protegemos nuestra aplicación de errores en tiempos de ejecución.

Para agregar un valor, lo hacemos a través del método add:

Código (java) [Seleccionar]
numbers.add(10);

Para obtener un valor, lo hacemos a través de la posición, como en los arrays:

Código (java) [Seleccionar]
Integer number = numbers.get(0);

Puedes ordenar también una lista, con el método sort de la clase Collections:

Código (java) [Seleccionar]
Collections.sort(numbers);

Ordenará la lista en forma ascendete.

Puedes también ordenar una lista de forma que tú desees, utilizando el objeto Comparator:

Código (java) [Seleccionar]

Collections.sort(numbers, new Comparator() {
@Override
return int compare(Integer v1, Integer v2) {
return (v2.intValue() > v1.intValue()) ? 1 : -1;
}
});


El método anterior ordena una lista de forma descendente.

Tienes muchos métodos a disposición, puedes consultar la lista completa aquí


Saludos.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein