public void Graficar(RamaArbol raiz) { if (raiz == null) { return; } // nodos += raiz.getGraphNodo(); NodoRamaArbol aux = raiz.getPrimero(); while (aux != null) { Graficar(aux.getIzquierda()); ////////////////////////////////////////////////// aqui empieza la inserccion a la matriz contadorcabeceras++; Contenido += "C" + aux.getCodigoDestino() + "[label = \"" + aux.getNombreDestino() + "\" ];\n "; aux = aux.getSiguiente(); } aux = raiz.getPrimero(); while (aux.getSiguiente() != null) { aux = aux.getSiguiente(); } Graficar(aux.getDerecha()); }
public string getDotMenor(int primerpais, int segundopais) { NodoRamaArbol primero = busqueda(primerpais); NodoRamaArbol segundo = busqueda(segundopais); string primernombre = primero.getNombreDestino(); string segundonombre = segundo.getNombreDestino(); if (primero.getNombreDestino().Contains(" ")) { primernombre = primero.getNombreDestino().Replace(" ", "_"); } if (segundo.getNombreDestino().Contains(" ")) { segundonombre = segundo.getNombreDestino().Replace(" ", "_"); } DotMenor = "digraph lista{\n" + primernombre; ruta(primerpais, segundopais, true); DotMenor += "->" + segundonombre + "->Total" + Convert.ToInt32(cminimo(primerpais, segundopais)) + "\n}"; return(DotMenor); }
public void Graficar2(RamaArbol raiz) { if (raiz == null) { return; } // nodos += raiz.getGraphNodo(); NodoRamaArbol aux = raiz.getPrimero(); while (aux != null) { Boolean llave = false; Graficar2(aux.getIzquierda()); Console.WriteLine(aux.getCodigoDestino()); ////////////////////////////////////////////////// aqui empieza la inserccion a la matriz Contenido += "{ \nrank=same;\n"; Contenido += "F" + aux.getCodigoDestino() + "[label = \"" + aux.getNombreDestino() + "\" ];\n "; if (aux.getFilaPrimero() != null) { NodoMatriz recorrido = aux.getFilaPrimero(); while (recorrido != null) { Contenido += "F" + recorrido.getCodigoPrimerPais() + "C" + recorrido.getCodigosegundoPais() + "[label = \"Costo: " + recorrido.getCosto() + ",Tiempo: " + recorrido.getTiempo() + "\" ];\n "; recorrido = recorrido.getSiguienteMatriz(); llave = true; } Contenido += "} \n"; } if (!llave) { Contenido += "} \n"; } aux = aux.getSiguiente(); } aux = raiz.getPrimero(); while (aux.getSiguiente() != null) { aux = aux.getSiguiente(); } Graficar2(aux.getDerecha()); }
private void busca(int codDes, RamaArbol rama, RamaArbol salida) { if (rama == null) { return; } NodoRamaArbol nodo = rama.getPrimero(); while (nodo != null) { if (!rama.esHoja()) { busca(codDes, nodo.getIzquierda(), salida); busca(codDes, nodo.getDerecha(), salida); } if (nodo.getCodigoDestino() == codDes) { salida.insertar(new NodoRamaArbol(nodo.getCodigoDestino(), nodo.getNombreDestino())); } nodo = nodo.getSiguiente(); } }
public void llenar(RamaArbol raiz) { if (raiz == null) { return; } // nodos += raiz.getGraphNodo(); NodoRamaArbol aux = raiz.getPrimero(); while (aux != null) { llenar(aux.getIzquierda()); llenado[contadorllenado] = aux.getCodigoDestino(); llenadoNombres[contadorllenado] = aux.getNombreDestino(); contadorllenado++; aux = aux.getSiguiente(); } aux = raiz.getPrimero(); while (aux.getSiguiente() != null) { aux = aux.getSiguiente(); } llenar(aux.getDerecha()); }
public void Graficar4Nuevo(RamaArbol raiz) { if (raiz == null) { return; } // nodos += raiz.getGraphNodo(); NodoRamaArbol aux = raiz.getPrimero(); while (aux != null) { Graficar4Nuevo(aux.getIzquierda()); Console.WriteLine(aux.getCodigoDestino()); listacabeceras.Insertar(aux.getCodigoDestino(), aux.getNombreDestino()); aux = aux.getSiguiente(); } aux = raiz.getPrimero(); while (aux.getSiguiente() != null) { aux = aux.getSiguiente(); } Graficar4Nuevo(aux.getDerecha()); }
private NodoRamaArbol dividir(RamaArbol rama) { RamaArbol derecha = new RamaArbol(), izquierda = new RamaArbol(); NodoRamaArbol medio = null, temp = rama.getPrimero(); for (int i = 1; i < 6; i++, temp = temp.getSiguiente()) { NodoRamaArbol nodo = new NodoRamaArbol(temp.getCodigoDestino(), temp.getNombreDestino()); nodo.setIzquierda(temp.getIzquierda()); nodo.setDerecha(temp.getDerecha()); if (nodo.getDerecha() != null && nodo.getIzquierda() != null) { izquierda.setHoja(false); derecha.setHoja(false); } switch (i) { case 1: case 2: izquierda.insertar(nodo); break; case 3: medio = nodo; break; case 4: case 5: derecha.insertar(nodo); break; } } medio.setIzquierda(izquierda); medio.setDerecha(derecha); return(medio); }
/** * Genera parte del contenido del archivo fuente para GraphViz * @return */ public String getGraphNodo() { tempFlechas = ""; String temp = "nodo" + primero.getCodigoDestino() + " [ label =\""; NodoRamaArbol tempRecorre = primero; int i = 0; String detalles = ""; for (i = 0; i < cuenta; i++, tempRecorre = tempRecorre.getSiguiente()) { temp += "<C" + i + ">|<D" + i + ">CODIGO: " + tempRecorre.getCodigoDestino() + "\\nDESTINO: " + tempRecorre.getNombreDestino() + "|"; if (tempRecorre.getIzquierda() != null) { tempFlechas += "nodo" + primero.getCodigoDestino() + ":C" + i + "->nodo" + tempRecorre.getIzquierda().primero.getCodigoDestino() + "\n"; } } temp += "<C" + i + ">\" fillcolor=\"#CCCCCC\"];\n"; tempRecorre = primero; while (tempRecorre.getSiguiente() != null) { tempRecorre = tempRecorre.getSiguiente(); } if (tempRecorre.getDerecha() != null) { tempFlechas += "nodo" + primero.getCodigoDestino() + ":C" + i + "->nodo" + tempRecorre.getDerecha().primero.getCodigoDestino() + "\n"; } temp += tempFlechas; temp += detalles; return(temp); }