static void Main(string[] args) { // Árbol Genérico Arbol arbolito = new Arbol(); NodoArbolG raiz = arbolito.Insertar("A", null); arbolito.Insertar("B", raiz); arbolito.Insertar("C", raiz); //arbolito.TransversaPre(raiz); NodoArbolG n = arbolito.Insertar("D", raiz); arbolito.Insertar("H", n); n = arbolito.Insertar("E", raiz); NodoArbolG i = arbolito.Insertar("I", n); arbolito.Insertar("J", i); NodoArbolG p = arbolito.Insertar("Q", n); arbolito.Insertar("P", p); n = arbolito.Insertar("F", raiz); arbolito.Insertar("k", n); arbolito.Insertar("L", n); arbolito.Insertar("M", n); n = arbolito.Insertar("G", raiz); arbolito.Insertar("N", n); arbolito.TransversaPre(raiz); Console.WriteLine("-------"); Console.WriteLine("Transversa Post-Order"); arbolito.TransversaPost(raiz); // Console.WriteLine("Busqueda"); if (arbolito.Buscar("N", raiz) != null) { Console.WriteLine("Dato encontrado = " + arbolito.Buscar("k", raiz).Dato); } else { Console.WriteLine("No lo encontre :("); } // Proceso de Inserción string donde = ""; string que = ""; Console.WriteLine("En dónde deseas insertar?"); donde = Console.ReadLine(); Console.WriteLine("Qué deseas insertar?"); que = Console.ReadLine(); NodoArbolG encontrado = arbolito.Buscar(donde, raiz); arbolito.Insertar(que, encontrado); arbolito.TransversaPre(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 }