Пример #1
0
        public void agregar(IComparable elem)
        {
            NodoBinario Nuevo;

            Nuevo = new NodoBinario(elem);
            if (raiz == null)
            {
                raiz = Nuevo;
            }
            else
            {
                NodoBinario anterior = null, reco;
                reco = raiz;
                while (reco != null)
                {
                    anterior = reco;
                    if (elem.CompareTo(reco.getDato()) < 0)
                    {
                        reco = reco.getHijoIzquierdo();
                    }
                    else
                    {
                        reco = reco.getHijoDerecho();
                    }
                }
                if (elem.CompareTo(anterior.getDato()) < 0)
                {
                    anterior.setHijoIzquierdo(Nuevo);
                }
                else
                {
                    anterior.setHijoDerecho(Nuevo);
                }
            }
        }
Пример #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 void ContarHojas(NodoBinario arbol)
        {
            if (arbol != null)
            {
                if (arbol.getHijoIzquierdo() == null && arbol.getHijoDerecho() == null)
                {
                    cant++;
                }

                ContarHojas(arbol.getHijoIzquierdo());
                ContarHojas(arbol.getHijoDerecho());
            }
        }
Пример #5
0
        public void RecorrerPorNiveles(NodoBinario reco)
        {
            int nivel = 0;

            if (reco != null)
            {
                Encolados.Add(reco);
            }



            foreach (NodoBinario nod in Encolados)
            {
                Console.Write(nod.getDato() + " ");
            }
        }
Пример #6
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);
        }
Пример #7
0
 private ArbolBinarioBusqueda(NodoBinario nodo)
 {
     this.raiz = nodo;
 }
Пример #8
0
 public ArbolBinarioBusqueda(IComparable dato)
 {
     this.raiz = new NodoBinario(dato);
 }
Пример #9
0
 public ArbolBinarioBusqueda()
 {
     this.raiz = null;
 }
Пример #10
0
 public void setHijoDerecho(NodoBinario hijoDer)
 {
     this.hijoDerecho = hijoDer;
 }
Пример #11
0
 public void setHijoIzquierdo(NodoBinario hijoIzq)
 {
     this.hijoIzquierdo = hijoIzq;
 }
Пример #12
0
 public NodoBinario(IComparable dato)
 {
     this.dato          = dato;
     this.hijoIzquierdo = null;
     this.hijoDerecho   = null;
 }