Ciao a tutti! sto lavorando su un progetto che utilizza come struttura un grafo e la ricerca di path su questo grafo. purtroppo di tanto in tanto mi si presenta questo errore e non capisco il perchè in quanto:
1) su 10 volte che lancio 8 non da problemi e 2 si... (se fosse un errore del codice non ci sarebbero esiti positivi! )
2) ho provato ad aumentare la memoria a disposizione di eclipse settando i parametri come già discusso in un altro topic, ma niente... sempre lo stesso errore..!
il problema principale è data da una funzione findPath di cui vi posto il codice:
codice:public List<Integer> findPath(int node1, int node2) { inRange(node1); inRange(node2); int root = node1; UndirGraph tree = new UndirGraph(size()); boolean[] inS = new boolean[size()]; List<Integer> Q = new LinkedList<Integer>(); inS[root - 1] = true; Q.addAll(getNeighbors(root)); // Put while (!Q.isEmpty()) { int v = Q.remove(0); // Get if(v < 0) root = -v; // sets new root node else if(v == node2) { tree.add(root, v); // go back from node2 to node1 on the tree List<Integer> result = new LinkedList<Integer>(); result.add(0, node2); int node = node2; while (node != node1) { for (int i = 1; i <= tree.size(); i++) if(tree.edge(i, node)) { node = i; break; } result.add(0, node); } return result; } else if(!inS[v - 1]) { tree.add(root, v); inS[v - 1] = true; Q.add(new Integer(-v)); // adds father before his neighbors Q.addAll(getNeighbors(v)); // Put } } // there is no path from node1 to node2 return new LinkedList<Integer>(); }
io non so cosa fare... qualcuno può darmi una mano per favore?? grazie mille!!
PS. il grafo che sto usando è piccolo!! solo 36 nodi

Rispondi quotando
... )..
)... risultato: nessuna eccezione.
