Yoquesie

Páginas: 2 (413 palabras) Publicado: 14 de abril de 2011
| import java.util.*;   public class Grafo {     int[][] grafo;     char[]  nodos;       Grafo(String serieNodos) {         nodos = serieNodos.toCharArray();         grafo = newint[nodos.length][nodos.length];     }       // asigna el tamaño de la arista entre dos nodos     public void agregarRuta(char origen, char destino, int distancia) {         int n1 = posicionNodo(origen);         int n2= posicionNodo(destino);         grafo[n1][n2]=distancia;         grafo[n2][n1]=distancia;     }       // retorna la posición en el arreglo de un nodo específico     private int posicionNodo(charnodo) {         for(int i=0; i<nodos.length; i++) {             if(nodos[i]==nodo) return i;         }         return -1;     }       // encuentra la ruta mínima entre dos nodos del grafo     publicvoid encontrarRutaMinimaFuerzaBruta(char inicio, char fin) {         int p1 = posicionNodo(inicio);         int p2 = posicionNodo(fin);         // cola para almacenar cada ruta que está siendoevaluada         Stack<Integer> resultado = new Stack<Integer>();         resultado.push(p1);         recorrerRutas(p1, p2, resultado);     }       // recorre recursivamente las rutas entre unnodo inicial y un nodo final     // almacenando en una cola cada nodo visitado     private void recorrerRutas(int nodoI, int nodoF, Stack<Integer> resultado) {         // si el nodo inicial esigual al final se muestra y evalúa la ruta en revisión         if(nodoI==nodoF) {             for(int x: resultado) System.out.print(nodos[x]+ " ");             System.out.print(": " +evaluar(resultado));             System.out.println();             return;         }         // Si el nodoInicial no es igual al final se crea una lista con todos los nodos         // adyacentes al nodo inicialque no estén en la ruta en evaluación         List<Integer> lista = new Vector<Integer>();         for(int i=0; i<grafo.length;i++) {             if(grafo[nodoI][i]!=0 &&...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS