public void RecorrerPostOrden(NodoT nodo)
 {
     if (nodo != null)
     {
         RecorrerPostOrden(nodo.NodoIzquierdo);
         RecorrerPostOrden(nodo.NodoDerecho);
         Console.Write(nodo.Valor + " ,");
     }
 }
 public void InsertarNodo(NodoT nodo, int dato)
 {
     if (Raiz == null)
     {
         Raiz = new NodoT(dato);
     }
     else
     {
         if (dato < nodo.Valor)
         {
             if (nodo.NodoIzquierdo == null)
             {
                 NodoT nuevoNodo = new NodoT(dato);
                 nodo.NodoIzquierdo = nuevoNodo;
             }
             else
             {
                 InsertarNodo(nodo.NodoIzquierdo, dato);
             }
         }
         else if (dato > nodo.Valor)
         {
             if (nodo.NodoDerecho == null)
             {
                 NodoT nuevoNodo = new NodoT(dato);
                 nodo.NodoDerecho = nuevoNodo;
             }
             else
             {
                 InsertarNodo(nodo.NodoDerecho, dato);
             }
         }
         else
         {
             Console.WriteLine("Ese nodo ya se encuentra en el arbol");
             Console.ReadKey();
         }
     }
 }
 public NodoT(int n)
 {
     this.valor         = n;
     this.nodoIzquierdo = null;
     this.NodoDerecho   = null;
 }
 public ArbolBinario()
 {
     this.Raiz = null;
 }