public String Consulta3(ArbolGeneral <Planeta> arbol) { Cola <ArbolGeneral <Planeta> > q = new Cola <ArbolGeneral <Planeta> >(); q.encolar(arbol); int nivel = 0; String mensaje = ""; while (!q.esVacia()) { int elementos = q.cantElementos(); nivel++; int cantidad = 0; int total = 0; while (elementos-- > 0) { ArbolGeneral <Planeta> nodoActual = q.desencolar(); total = total + nodoActual.getDatoRaiz().Poblacion(); cantidad++; foreach (ArbolGeneral <Planeta> hijo in nodoActual.getHijos()) { q.encolar(hijo); } } double promedio = total / cantidad; mensaje += "\n" + "\n" + "\n" + "Nivel " + nivel + ": " + promedio + "\n"; } return(mensaje); }
public String Consulta3(ArbolGeneral <Planeta> arbol) //Recorrido por niveles { Cola <ArbolGeneral <Planeta> > q = new Cola <ArbolGeneral <Planeta> >(); q.encolar(arbol); int nivel = 0; String mensaje = ""; while (!q.esVacia()) { int elementos = q.cantElementos(); nivel++; int cantidadPorNivel = 0; int poblacionPorNivel = 0; while (elementos-- > 0) { ArbolGeneral <Planeta> nodoActual = q.desencolar(); cantidadPorNivel++; poblacionPorNivel += nodoActual.getDatoRaiz().Poblacion(); foreach (ArbolGeneral <Planeta> hijo in nodoActual.getHijos()) { q.encolar(hijo); } } mensaje += "Nivel " + nivel + ": " + poblacionPorNivel / cantidadPorNivel + "-----"; } return(mensaje); }
public String Consulta2(ArbolGeneral <Planeta> arbol) { Cola <ArbolGeneral <Planeta> > q = new Cola <ArbolGeneral <Planeta> >(); q.encolar(arbol); int nivel = 0; String mensaje = ""; while (!q.esVacia()) { int elementos = q.cantElementos(); nivel++; int cantidadPorNivel = 0; while (elementos-- > 0) { ArbolGeneral <Planeta> nodoActual = q.desencolar(); if (nodoActual.getDatoRaiz().Poblacion() > 10) { cantidadPorNivel++; } foreach (ArbolGeneral <Planeta> hijo in nodoActual.getHijos()) { q.encolar(hijo); } } mensaje += "Nivel " + nivel + ": " + cantidadPorNivel + "\n"; } return(mensaje); }
public String Consulta1(ArbolGeneral <Planeta> arbol) //Recorrido por niveles { Cola <ArbolGeneral <Planeta> > q = new Cola <ArbolGeneral <Planeta> >(); q.encolar(arbol); int nivel = 0; while (!q.esVacia()) { int elementos = q.cantElementos(); nivel++; while (elementos-- > 0) { ArbolGeneral <Planeta> nodoActual = q.desencolar(); if (nodoActual.getDatoRaiz().EsPlanetaDeLaIA()) { nivel--; string texto = nivel.ToString(); return("La distancia entre la raiz y el planeta del bot es de: " + texto); } foreach (ArbolGeneral <Planeta> hijo in nodoActual.getHijos()) { q.encolar(hijo); } } } return(""); }