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 int nivel(T dato) { Cola <ArbolGeneral <T> > C = new Cola <ArbolGeneral <T> >(); ArbolGeneral <T> auxi; int nivel = 0; C.encolar(this); C.encolar(null); while (!C.esVacia()) { auxi = C.desencolar(); if (dato.Equals(auxi) == true) { return(nivel); } if (auxi == null) { nivel++; if (!C.esVacia()) { C.encolar(null); } } else { foreach (var hijo in auxi.getHijos()) { C.encolar(hijo); } } } return(nivel); }
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 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 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(""); }
public String Consulta3(ArbolGeneral <Planeta> arbol) { // calcular promedio poblacion por nivel de arbol (recorrido por niveles, sumar en total y cantidad y dividir por cantidad para sacar promedio) Cola <ArbolGeneral <Planeta> > c = new Cola <ArbolGeneral <Planeta> >(); uint Conta1 = 0; uint Conta2 = 0; uint Conta3 = 0; uint Conta4 = 0; uint nivel1 = 0; uint nivel2 = 0; uint nivel3 = 0; uint nivel4 = 0; c.encolar(arbol); while (!c.esVacia()) { arbol = c.desencolar(); int conta = arbol.nivel(arbol.getDatoRaiz()); if (conta == 1) { nivel1 += arbol.getDatoRaiz().population; Conta1++; } else if (conta == 2) { nivel2 += arbol.getDatoRaiz().population; Conta2++; } else if (conta == 3) { nivel3 += arbol.getDatoRaiz().population; Conta3++; } else { nivel4 += arbol.getDatoRaiz().population; Conta4++; } foreach (var hijo in arbol.getHijos()) { c.encolar(hijo); } } nivel1 /= Conta1; nivel2 /= Conta2; nivel3 /= Conta3; nivel4 /= Conta4; return($"\r\n\r\n\r\n\r\n\r\n\r\nPromedio de poblacion segun nivel:\r\n" + $"nivel 1: {nivel1}\r\n" + $"nivel 2: {nivel2}\r\n" + $"nivel 3: {nivel3}\r\n" + $"nivel 4: {nivel4}\r\n"); }
public String Consulta3(ArbolGeneral <Planeta> arbol) { Cola <ArbolGeneral <Planeta> > c = new Cola <ArbolGeneral <Planeta> >(); ArbolGeneral <Planeta> arbolaux; c.encolar(arbol); c.encolar(null); int contarPlanetas = 0; int nivel = 0; int sumarPoblacion = 0; float promedioPorNivel = 0; string consultaPromedioDePlanetas = ""; string consulta3 = "CONSULTA 3:" + "\n"; while (!c.esVacia()) { arbolaux = c.desencolar(); if (arbolaux != null) { if (arbolaux.getDatoRaiz().Poblacion() > 0) { contarPlanetas++; sumarPoblacion = sumarPoblacion + arbolaux.getDatoRaiz().Poblacion(); promedioPorNivel = sumarPoblacion / contarPlanetas; } foreach (var hijo in arbolaux.getHijos()) { c.encolar(hijo); } } else { consultaPromedioDePlanetas += "El promedio poblacional en el nivel " + nivel + " es: " + promedioPorNivel + "\n"; contarPlanetas = 0; nivel++; promedioPorNivel = 0; sumarPoblacion = 0; if (!c.esVacia()) { c.encolar(null); } } } return(consulta3 + consultaPromedioDePlanetas); }
public String Consulta2(ArbolGeneral <Planeta> arbol) { Cola <ArbolGeneral <Planeta> > c = new Cola <ArbolGeneral <Planeta> >(); uint nivel1 = 0; uint nivel2 = 0; uint nivel3 = 0; uint nivel4 = 0; c.encolar(arbol); while (!c.esVacia()) { arbol = c.desencolar(); int conta = arbol.nivel(arbol.getDatoRaiz()); if (arbol.getDatoRaiz().population > 10) { if (conta == 1) { nivel1++; } else if (conta == 2) { nivel2++; } else if (conta == 3) { nivel3++; } else { nivel4++; } } foreach (var hijo in arbol.getHijos()) { c.encolar(hijo); } } //calcular cantidad de planetas con población > 10 en cada nivel del arbol (recorrido por niveles,con limitante de población) return($"\r\nCantidad de planetas con poblacion mayor a 10 segun nivel:\r\n" + $"nivel 1: {nivel1}\r\n" + $"nivel 2: {nivel2}\r\n" + $"nivel 3: {nivel3}\r\n" + $"nivel 4: {nivel4}\r\n"); }
public String Consulta2(ArbolGeneral <Planeta> arbol) { Cola <ArbolGeneral <Planeta> > c = new Cola <ArbolGeneral <Planeta> >(); ArbolGeneral <Planeta> arbolaux; c.encolar(arbol); c.encolar(null); int contarPlanetas = 0; int nivel = 0; string consultaDePlanetas = ""; string consulta2 = "CONSULTA 2:" + "\n"; while (!c.esVacia()) { arbolaux = c.desencolar(); if (arbolaux != null) { if (arbolaux.getDatoRaiz().Poblacion() > 10) { contarPlanetas++; } foreach (var hijo in arbolaux.getHijos()) { c.encolar(hijo); } } else { consultaDePlanetas += "La cant de planetas con poblacion mayor a 10 en el nivel " + nivel + " es: " + contarPlanetas + "\n"; contarPlanetas = 0; nivel++; if (!c.esVacia()) { c.encolar(null); } } } return(consulta2 + consultaDePlanetas); }
public String Consulta1(ArbolGeneral <Planeta> arbol) { Cola <ArbolGeneral <Planeta> > c = new Cola <ArbolGeneral <Planeta> >(); ArbolGeneral <Planeta> arbolaux; c.encolar(arbol); c.encolar(null); int distancia = 0; while (!c.esVacia()) { arbolaux = c.desencolar(); if (arbolaux != null) { if (arbolaux.getDatoRaiz().EsPlanetaDeLaIA()) { return("CONSULTA 1:" + "\n" + "La distancia de la raiz al planeta mas cercano de la IA es " + distancia); } else { foreach (var hijo in arbolaux.getHijos()) { c.encolar(hijo); } } } else { distancia++; c.encolar(null); } } return("No se encontro ningun planeta"); }