Exemplo n.º 1
0
 //Metodo de recorrido en Post-Orden
 static void RecorridoPostorden(NodoT Raiz)
 {
     if (Raiz != null)
     {
         RecorridoPostorden(Raiz.NodoIzquierdo);
         RecorridoPostorden(Raiz.NodoDerecho);
         Console.Write("{0}, ", Raiz.Informacion);
     }
 }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            int   Opcion = 0;
            NodoT Raiz   = null;
            int   Dato;

            do
            {
                Opcion = Menu();
                switch (Opcion)
                {
                case 1:


                    Console.Write("Valor del Nuevo Nodo: ");
                    Dato = int.Parse(Console.ReadLine());
                    if (Raiz == null)
                    {
                        NodoT NuevoNodo = new NodoT();
                        NuevoNodo.Informacion = Dato;
                        Raiz = NuevoNodo;
                    }
                    else
                    {
                        Insertar(Raiz, Dato);
                    }
                    Console.Clear();
                    break;


                //Recorrido en Pre Orden del Arbol
                case 2: RecorridoPreorden(Raiz);
                    Console.WriteLine("Fin del Recorrido,...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                //Recorrido en Post Orden del Arbol
                case 3: RecorridoPostorden(Raiz);
                    Console.WriteLine("Fin del Recorrido,...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                //Recorrido en In Orden del Arbol
                case 4: RecorridoInorden(Raiz);
                    Console.WriteLine("Fin del Recorrido,...");
                    Console.ReadLine();
                    Console.Clear();
                    break;
                }
            } while (Opcion != 5);
        }
Exemplo n.º 3
0
 //Insertar en un arbol binario
 static void Insertar(NodoT Raiz, int Dato)
 {
     if (Dato < Raiz.Informacion)
     {
         if (Raiz.NodoIzquierdo == null)
         {
             NodoT NuevoNodo = new NodoT();
             NuevoNodo.Informacion = Dato;
             Raiz.NodoIzquierdo    = NuevoNodo;
         }
         else
         {
             //Llamada recursiva
             Insertar(Raiz.NodoIzquierdo, Dato);
         }
     }
     else//Buscar por el lado derecho
     {
         if (Dato > Raiz.Informacion)
         {
             if (Raiz.NodoDerecho == null)
             {
                 NodoT NuevoNodo = new NodoT();
                 NuevoNodo.Informacion = Dato;
                 Raiz.NodoDerecho      = NuevoNodo;
             }
             else
             {
                 //Llamada recursiva por el lado derecho
                 Insertar(Raiz.NodoDerecho, Dato);
             }
         }
         else
         {
             //El Nodo existe en el Arbol
             Console.WriteLine("Nodo Existente, Imposible Insertar...");
             Console.ReadLine();
         }
     }
 }
Exemplo n.º 4
0
 //Constructor
 public NodoT()
 {
     this.NodoIzquierdo = null;
     this.Informacion   = 0;
     this.NodoDerecho   = null;
 }