Exemplo n.º 1
0
        static void Main(string[] args)
        {
            int   opc   = 0;
            Arbol arbol = new Arbol();                                                             //Creamos objeto arbol

            Console.Write("Ingrese que arbol quiere analizar: \nA) = 1 \nB) = 2 \nC) = 3 \nR = "); //Menu
            opc = int.Parse(Console.ReadLine());

            if (opc == 1)                              //Si elige 1, arbol a)
            {
                Nodo raiz = arbol.Insertar("E", null); //Nodo raiz

                arbol.Insertar("F", raiz);
                Nodo n = arbol.Insertar("A", raiz);
                arbol.Insertar("B", n);
                arbol.Insertar("C", n);
                arbol.Insertar("D", n);

                Console.WriteLine();
                arbol.Imprimir(raiz);                                            //Mandamos a llamar al Metodo imprimir para mostar el arbol en orden

                Console.WriteLine("Altura del arbol: {0}", arbol.Altura2(raiz)); //Metodo para calcular altura
                Console.WriteLine("Numero de Niveles: {0}", arbol.Nivel2(raiz)); //Metodo para calcular nivel
                arbol.Recorrido(opc);                                            //Imprime recorrido mas largo

                //arbol.Recorrido(raiz);
                //arbol.Imprimir2();
            }

            if (opc == 2)                              //Si elige 2, arbol b)
            {
                Nodo raiz = arbol.Insertar("C", null); //Nodo raiz
                Nodo n    = arbol.Insertar("A", raiz);
                Nodo j    = arbol.Insertar("B", n);
                arbol.Insertar("E", j);

                arbol.Insertar("G", raiz);
                arbol.Insertar("F", raiz);
                arbol.Insertar("D", raiz);

                Console.WriteLine();
                arbol.Imprimir(raiz);                                            //Mandamos a llamar al Metodo imprimir para mostar el arbol en orden
                Console.WriteLine("Altura del arbol: {0}", arbol.Altura2(raiz)); //Metodo para calcular altura
                Console.WriteLine("Numero de Niveles: {0}", arbol.Nivel2(raiz)); //Metodo para calcular nivel
                arbol.Recorrido(opc);                                            //Imprime recorrido mas largo

                //arbol.Recorrido(raiz);
                //arbol.Imprimir2();
            }

            if (opc == 3)                              //Si elige 2, arbol b)
            {
                Nodo raiz = arbol.Insertar("K", null); //Nodo raiz
                arbol.Insertar("B", raiz);
                Nodo d = arbol.Insertar("D", raiz);
                Nodo i = arbol.Insertar("I", d);
                arbol.Insertar("J", i);

                Nodo e = arbol.Insertar("E", d);
                Nodo g = arbol.Insertar("G", e);
                arbol.Insertar("H", g);
                arbol.Insertar("F", e);

                arbol.Insertar("C", raiz);
                arbol.Insertar("A", raiz);

                Console.WriteLine();
                arbol.Imprimir(raiz);                                                //Mandamos a llamar al Metodo imprimir para mostar el arbol en orden
                Console.WriteLine("Altura del arbol: {0}", arbol.Altura2(raiz) - 1); //Metodo para calcular altura
                Console.WriteLine("Numero de Niveles: {0}", arbol.Nivel2(raiz) - 1); //Metodo para calcular nivel
                arbol.Recorrido(opc);                                                //Imprime recorrido mas largo

                //arbol.Recorrido(raiz); arbol.Recorrido(raiz);
                //arbol.Imprimir2();
            }

            Console.ReadKey();
            //Codigo basado en:
            //https://www.youtube.com/watch?v=90qdczicwxw&fbclid=IwAR29A69kZL2_cgGyZkioN3cPq_GYO97PeYNOKpgIL_Mz0MZ7IssbUkIzZks
        }