Example #1
0
        public void TestContarNiveles()
        {
            NodoExt nodo1 = new NodoExt("1");
            NodoExt nodo2 = new NodoExt("2");
            NodoExt nodo3 = new NodoExt("3");
            NodoExt nodo4 = new NodoExt("4");
            NodoExt nodo5 = new NodoExt("5");
            NodoExt nodo6 = new NodoExt("6");
            NodoExt nodo7 = new NodoExt("7");

            NodoExt nodo10 = new NodoExt("10");
            NodoExt nodo11 = new NodoExt("11");


            nodo1.Hijos.Add(nodo2);
            nodo1.Hijos.Add(nodo3);


            nodo2.Hijos.Add(nodo4);
            nodo2.Hijos.Add(nodo5);

            nodo3.Hijos.Add(nodo6);
            nodo3.Hijos.Add(nodo7);

            nodo4.Hijos.Add(new NodoExt("12"));
            nodo4.Hijos.Add(new NodoExt("13"));

            nodo5.Hijos.Add(new NodoExt("14"));
            nodo5.Hijos.Add(new NodoExt("15"));

            nodo6.Hijos.Add(new NodoExt("16"));
            nodo6.Hijos.Add(new NodoExt("17"));

            nodo7.Hijos.Add(nodo10);
            nodo7.Hijos.Add(new NodoExt("18"));

            nodo10.Hijos.Add(nodo11);

            int resultadoEsperado = 5;
            int resultado         = NodoExt.ContarNiveles(nodo1);

            Assert.AreEqual(resultadoEsperado, resultado);
        }
Example #2
0
        public static void contarNiveles()
        {
            NodoExt nodo1 = new NodoExt("1");
            NodoExt nodo2 = new NodoExt("2");
            NodoExt nodo3 = new NodoExt("3");
            NodoExt nodo4 = new NodoExt("4");
            NodoExt nodo5 = new NodoExt("5");
            NodoExt nodo6 = new NodoExt("6");
            NodoExt nodo7 = new NodoExt("7");

            NodoExt nodo10 = new NodoExt("10");
            NodoExt nodo11 = new NodoExt("11");


            nodo1.Hijos.Add(nodo2);
            nodo1.Hijos.Add(nodo3);


            nodo2.Hijos.Add(nodo4);
            nodo2.Hijos.Add(nodo5);

            nodo3.Hijos.Add(nodo6);
            nodo3.Hijos.Add(nodo7);

            nodo4.Hijos.Add(new NodoExt("12"));
            nodo4.Hijos.Add(new NodoExt("13"));

            nodo5.Hijos.Add(new NodoExt("14"));
            nodo5.Hijos.Add(new NodoExt("15"));

            nodo6.Hijos.Add(new NodoExt("16"));
            nodo6.Hijos.Add(new NodoExt("17"));

            nodo7.Hijos.Add(nodo10);
            nodo7.Hijos.Add(new NodoExt("18"));

            nodo10.Hijos.Add(nodo11);

            NodoExt.ImprmirArbolMultiplesHijos(nodo1);

            Console.WriteLine("EL ARBOL TIENE {0} NIVELES !!!", NodoExt.ContarNiveles(nodo1));
        }
Example #3
0
        public void TestContarNiveles()
        {
            NodoExt nodoA = new NodoExt("A");
            NodoExt nodoB = new NodoExt("B");
            NodoExt nodoC = new NodoExt("C");
            NodoExt nodoD = new NodoExt("D");
            NodoExt nodoE = new NodoExt("E");
            NodoExt nodoF = new NodoExt("F");
            NodoExt nodoG = new NodoExt("G");

            NodoExt nodoN = new NodoExt("N");
            NodoExt nodoX = new NodoExt("X");

            //Raiz
            nodoA.Hijos.Add(nodoB);
            nodoA.Hijos.Add(nodoC);

            //
            nodoB.Hijos.Add(nodoD);
            nodoB.Hijos.Add(nodoE);
            //
            nodoC.Hijos.Add(nodoF);
            nodoC.Hijos.Add(nodoG);
            //
            nodoD.Hijos.Add(new NodoExt("H"));
            nodoD.Hijos.Add(new NodoExt("I"));
            nodoE.Hijos.Add(new NodoExt("J"));
            nodoE.Hijos.Add(new NodoExt("K"));

            nodoF.Hijos.Add(new NodoExt("L"));
            nodoF.Hijos.Add(new NodoExt("M"));
            nodoG.Hijos.Add(nodoN);
            nodoG.Hijos.Add(new NodoExt("Ñ"));

            nodoN.Hijos.Add(nodoX);

            int resultadoEsperado = 5;
            int resultado         = NodoExt.ContarNiveles(nodoA);

            Assert.AreEqual(resultadoEsperado, resultado);
        }
Example #4
0
        public static void contarNiveles()
        {
            NodoExt nodoA1 = new NodoExt("A1");
            NodoExt nodoB2 = new NodoExt("B2");
            NodoExt nodoC3 = new NodoExt("C3");
            NodoExt nodoD4 = new NodoExt("D4");
            NodoExt nodoE5 = new NodoExt("E5");
            NodoExt nodoF6 = new NodoExt("F6");
            NodoExt nodoG7 = new NodoExt("G7");

            NodoExt nodoJ10 = new NodoExt("J10");
            NodoExt nodoK11 = new NodoExt("K11");


            nodoA1.Hijos.Add(nodoB2);
            nodoA1.Hijos.Add(nodoC3);

            nodoB2.Hijos.Add(nodoD4);
            nodoB2.Hijos.Add(nodoE5);

            nodoC3.Hijos.Add(nodoF6);
            nodoC3.Hijos.Add(nodoG7);

            nodoD4.Hijos.Add(new NodoExt("L12"));
            nodoD4.Hijos.Add(new NodoExt("M13"));

            nodoE5.Hijos.Add(new NodoExt("N14"));
            nodoE5.Hijos.Add(new NodoExt("Ñ15"));

            nodoF6.Hijos.Add(new NodoExt("O16"));
            nodoF6.Hijos.Add(new NodoExt("P17"));

            nodoG7.Hijos.Add(nodoJ10);
            nodoG7.Hijos.Add(new NodoExt("18"));

            nodoJ10.Hijos.Add(nodoK11);

            NodoExt.ImprmirArbolMultiplesHijos(nodoA1);

            Console.WriteLine("EL ARBOL TIENE {0} NIVELES !!!", NodoExt.ContarNiveles(nodoA));
        }
Example #5
0
        public static void contarNiveles()
        {
            NodoExt nodoA = new NodoExt("A");
            NodoExt nodoB = new NodoExt("B");
            NodoExt nodoC = new NodoExt("C");
            NodoExt nodoD = new NodoExt("D");
            NodoExt nodoE = new NodoExt("E");
            NodoExt nodoF = new NodoExt("F");
            NodoExt nodoG = new NodoExt("G");

            NodoExt nodoN = new NodoExt("N");
            NodoExt nodoX = new NodoExt("X");

            //Raiz
            nodoA.Hijos.Add(nodoB);
            nodoA.Hijos.Add(nodoC);

            //
            nodoB.Hijos.Add(nodoD);
            nodoB.Hijos.Add(nodoE);
            //
            nodoC.Hijos.Add(nodoF);
            nodoC.Hijos.Add(nodoG);
            //
            nodoD.Hijos.Add(new NodoExt("H"));
            nodoD.Hijos.Add(new NodoExt("I"));
            nodoE.Hijos.Add(new NodoExt("J"));
            nodoE.Hijos.Add(new NodoExt("K"));

            nodoF.Hijos.Add(new NodoExt("L"));
            nodoF.Hijos.Add(new NodoExt("M"));
            nodoG.Hijos.Add(nodoN);
            nodoG.Hijos.Add(new NodoExt("Ñ"));

            nodoN.Hijos.Add(nodoX);

            NodoExt.ImprmirArbolMultiplesHijos(nodoA);

            Console.WriteLine("EL ARBOL TIENE {0} NIVELES !!!", NodoExt.ContarNiveles(nodoA));
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Estructuras de datos: Árboles");
            //Árbol binario
            Console.WriteLine("Navegación horizontal de árbol binario");
            var raiz = new Nodo("1",
                                new Nodo("1.1",
                                         new Nodo("1.1.1"), new Nodo("1.1.2")),
                                new Nodo("1.2",
                                         new Nodo("1.2.1"), new Nodo("1.2.2"))
                                );
            AdministradorNodos ad = new AdministradorNodos();

            ad.NavegarHorizontalmente(raiz);

            //Árbol con  múltiples hijos
            NodoExt nodo1 = new NodoExt("1");

            nodo1.Hijos = new List <NodoExt>();
            nodo1.Hijos.Add(new NodoExt("1.1"));
            nodo1.Hijos.Add(new NodoExt("1.2"));
            nodo1.Hijos[0].Hijos = new List <NodoExt>();
            nodo1.Hijos[0].Hijos.Add(new NodoExt("1.1.2"));

            //Niveles, hojas, y nodos
            Console.WriteLine("Niveles, hojas y nodos de árbol con múltiples hijos");
            Console.WriteLine("Niveles: {0}", NodoExt.ContarNiveles(nodo1));
            Console.WriteLine("Hojas: {0}", NodoExt.ContarHojas(nodo1));
            Console.WriteLine("Nodos: {0}", NodoExt.ContarNodos(nodo1));

            //Suma
            Console.WriteLine("Escriba la operación");
            var expresion   = Console.ReadLine();
            var calculadora = new CalculadoraArbol();

            Console.WriteLine("Resultado: " + calculadora.Calcular(expresion));
        }