2010-03-25 26 views
5

Estoy tratando de implementar una matriz de adyacencia en java que produzca una salida para un ciclo hamiltoniano, que luego se puede resolver con diferentes algoritmos, como kruskurals, djikstras y 2opt enfoque. Sé que necesito una matriz 2d pero no sé por dónde empezar. Necesito poder almacenar la matriz y aplicarla al gráfico que tengo, que actualmente es un círculo con "n" nodos (depende de la matriz). toda ayuda es bienvenida, graciasCómo implementar una matriz de adyacencia en Java produciendo ciclos de hamilton

Respuesta

5

Aquí está un esqueleto se puede trabajar desde:

public class Graph { 
    public final int V; 
    private boolean[][] hasEdge; 

    public Graph(int V) { 
     this.V = V; 
     hasEdge = new boolean[V][V]; 
    } 

    public void addEdge(int v1, int v2) { 
     hasEdge[v1][v2] = hasEdge[v2][v1] = true; 
    } 
    public boolean hasEdge(int v1, int v2) { 
     return hasEdge[v1][v2]; 
    } 
} 

Cosas que se pueden mejorar en:

  • permite Quizás múltiples aristas entre los nodos?
  • ¿Tal vez permitir bordes pesados?
  • ¿Quizás use Node tipo en lugar de int índices para vértices?
  • etc ...
+0

gracias eso es muy útil – alchemey89

Cuestiones relacionadas