Example #1
0
        public static void contarHojas()
        {
            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");

            //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(new NodoExt("N"));
            nodoG.Hijos.Add(new NodoExt("Ñ"));

            NodoExt.ImprmirArbolMultiplesHijos(nodoA);
            Console.WriteLine("EL ARBOL TIENES {0} HOJAS !!!", NodoExt.ContarHojas(nodoA));
        }
Example #2
0
        public static void construirArbolMultiplesHijos()
        {
            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");


            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("8"));
            nodo4.Hijos.Add(new NodoExt("9"));
            nodo5.Hijos.Add(new NodoExt("10"));
            nodo5.Hijos.Add(new NodoExt("11"));

            nodo6.Hijos.Add(new NodoExt("12"));
            nodo6.Hijos.Add(new NodoExt("13"));
            nodo7.Hijos.Add(new NodoExt("14"));
            nodo7.Hijos.Add(new NodoExt("15"));

            NodoExt.ImprmirArbolMultiplesHijos(nodo1);
        }
Example #3
0
        public static void construirArbolMultiplesHijos()
        {
            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");

            //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(new NodoExt("N"));
            nodoG.Hijos.Add(new NodoExt("Ñ"));

            NodoExt.ImprmirArbolMultiplesHijos(nodoA);
        }
Example #4
0
        public static void contarNodos()
        {
            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");


            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("8"));
            nodo4.Hijos.Add(new NodoExt("9"));
            nodo5.Hijos.Add(new NodoExt("10"));
            nodo5.Hijos.Add(new NodoExt("11"));

            nodo6.Hijos.Add(new NodoExt("12"));
            nodo6.Hijos.Add(new NodoExt("13"));
            nodo7.Hijos.Add(new NodoExt("14"));
            nodo7.Hijos.Add(new NodoExt("15"));

            NodoExt.ImprmirArbolMultiplesHijos(nodo1);
            Console.WriteLine("EL ARBOL TIENE {0} NODOS!!", NodoExt.ContarNodos(nodo1));
        }
Example #5
0
        public static void contarNodos()
        {
            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");

            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(new NodoExt("Q18"));
            NodoExt.ImprmirArbolMultiplesHijos(nodoA1);
            Console.WriteLine("el arbol tiene {0} NODOS", NodoExt.ContarNodos(nodoA1));
        }
Example #6
0
        public static void construirArbolVariosHijos()
        {
            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");

            //Raiz
            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("H8"));
            nodoD4.Hijos.Add(new NodoExt("I9"));
            nodoE5.Hijos.Add(new NodoExt("J10"));
            nodoE5.Hijos.Add(new NodoExt("K11"));

            nodoF6.Hijos.Add(new NodoExt("L12"));
            nodoF6.Hijos.Add(new NodoExt("M13"));
            nodoG7.Hijos.Add(new NodoExt("N14"));
            nodoG7.Hijos.Add(new NodoExt("Ñ15"));

            NodoExt.ImprmirArbolMultiplesHijos(nodoA1);
        }
Example #7
0
        public static void contarNodos()
        {
            NodoExt nodoA = new NodoExt("Angel");
            NodoExt nodoB = new NodoExt("Mari");
            NodoExt nodoC = new NodoExt("Paola");
            NodoExt nodoD = new NodoExt("Aleja");
            NodoExt nodoE = new NodoExt("Majo");
            NodoExt nodoF = new NodoExt("Francis");
            NodoExt nodoG = new NodoExt("Juan");

            //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(new NodoExt("N"));
            nodoG.Hijos.Add(new NodoExt("Ñ"));

            NodoExt.ImprmirArbolMultiplesHijos(nodoA);
            Console.WriteLine("EL ARBOL TIENE {0} NODOS!!", NodoExt.ContarNodos(nodoA));
        }
Example #8
0
        public void TestContarNodos()
        {
            NodoExt nodo = new NodoExt();
            int     resultadoEsperado = 1;
            int     resultado         = NodoExt.ContarNodos(nodo);

            Assert.AreEqual(resultadoEsperado, resultado);
        }
        public void TestContarHojasSiNulo()
        {
            NodoExt nodo = null;

            int resultadoEsperado = 0;
            int resultado         = NodoExt.ContarHojas(nodo);

            Assert.AreEqual(resultadoEsperado, resultado);
        }
Example #10
0
        public void TestContarNodosSiNuloRetorno0()
        {
            NodoExt nodo = null;

            int resultadoEsperado = 0;
            int resultado         = NodoExt.ContarNodos(nodo);

            Assert.AreEqual(resultadoEsperado, resultado);
        }
Example #11
0
        public void TestContarNodosConHijos()
        {
            NodoExt nodo = new NodoExt();

            nodo.Hijos = new List <NodoExt>();
            nodo.Hijos.Add(new NodoExt());

            int resultadoEsperado = 2;
            int resultado         = NodoExt.ContarNodos(nodo);

            Assert.AreEqual(resultadoEsperado, resultado);
        }
Example #12
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 #13
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 #14
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 #15
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));
        }
Example #17
0
        public void TestContarHojas()
        {
            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");

            //Raiz
            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("8"));
            nodo4.Hijos.Add(new NodoExt("9"));
            nodo5.Hijos.Add(new NodoExt("10"));
            nodo5.Hijos.Add(new NodoExt("11"));

            nodo6.Hijos.Add(new NodoExt("12"));
            nodo6.Hijos.Add(new NodoExt("13"));
            nodo7.Hijos.Add(new NodoExt("14"));
            nodo7.Hijos.Add(new NodoExt("15"));

            int resultadoEsperado = 8;
            int resultado         = NodoExt.ContarHojas(nodo1);

            Assert.AreEqual(resultadoEsperado, resultado);
        }