Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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("");
        }