예제 #1
0
        public void ContarHojas(NodoBinario arbol)
        {
            if (arbol != null)
            {
                if (arbol.getHijoIzquierdo() == null && arbol.getHijoDerecho() == null)
                {
                    cant++;
                }

                ContarHojas(arbol.getHijoIzquierdo());
                ContarHojas(arbol.getHijoDerecho());
            }
        }
예제 #2
0
 public void ImprimirPostOrden(NodoBinario recor)
 {
     if (recor != null)
     {
         ImprimirPostOrden(recor.getHijoIzquierdo());
         ImprimirPostOrden(recor.getHijoDerecho());
         Console.Write(recor.getDato() + " ");
     }
 }
예제 #3
0
 public bool TieneHijoDer(NodoBinario nod)
 {
     if (nod.getHijoDerecho() != null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #4
0
        public bool incuye(IComparable dato)
        {
            NodoBinario reco = this.raiz;

            while (reco != null)
            {
                if (dato.CompareTo(reco.getDato()) == 0)
                {
                    return(true);
                }
                else
                {
                    if (dato.CompareTo(reco.getDato()) < 0)
                    {
                        reco = reco.getHijoIzquierdo();
                    }
                    else
                    {
                        reco = reco.getHijoDerecho();
                    }
                }
            }
            return(false);
        }