public void Arbol3() { Arbol arbol = new Arbol(); Nodo raiz = arbol.Agregar("K", null); // se agrega el nodo raiz K arbol.Agregar("B", raiz); //se agregan B, A y C como nodos hijos de la raiz arbol.Agregar("A", raiz); arbol.Agregar("C", raiz); Nodo subRaizD = arbol.Agregar("D", raiz); // se agrega D como hijo de la raiz, pero tambien como raiz de un subarbol Nodo subRaizI = arbol.Agregar("I", subRaizD); // se agrega I como hijo de la subraiz D, pero tambien como raiz de un subarbol arbol.Agregar("J", subRaizI); // se agrega J como hijo del nodo I Nodo subRaizE = arbol.Agregar("E", subRaizD); // se agrega E como hijo del nodo D, pero tambien como raiz de un subarbol arbol.Agregar("F", subRaizE); // se agrega F como hijo del nodo subraiz E Nodo subRaizG = arbol.Agregar("G", subRaizE); // se agrega G como hijo del nodo E, pero tambien como raiz de un subarbol arbol.Agregar("H", subRaizG); // se agrega H como hijo del nodo G arbol.Imprimir(raiz); }
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 }