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); } } }
public void ImprimirPostOrden(NodoBinario recor) { if (recor != null) { ImprimirPostOrden(recor.getHijoIzquierdo()); ImprimirPostOrden(recor.getHijoDerecho()); Console.Write(recor.getDato() + " "); } }
public bool TieneHijoDer(NodoBinario nod) { if (nod.getHijoDerecho() != null) { return(true); } else { return(false); } }
public void ContarHojas(NodoBinario arbol) { if (arbol != null) { if (arbol.getHijoIzquierdo() == null && arbol.getHijoDerecho() == null) { cant++; } ContarHojas(arbol.getHijoIzquierdo()); ContarHojas(arbol.getHijoDerecho()); } }
public void RecorrerPorNiveles(NodoBinario reco) { int nivel = 0; if (reco != null) { Encolados.Add(reco); } foreach (NodoBinario nod in Encolados) { Console.Write(nod.getDato() + " "); } }
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); }
private ArbolBinarioBusqueda(NodoBinario nodo) { this.raiz = nodo; }
public ArbolBinarioBusqueda(IComparable dato) { this.raiz = new NodoBinario(dato); }
public ArbolBinarioBusqueda() { this.raiz = null; }
public void setHijoDerecho(NodoBinario hijoDer) { this.hijoDerecho = hijoDer; }
public void setHijoIzquierdo(NodoBinario hijoIzq) { this.hijoIzquierdo = hijoIzq; }
public NodoBinario(IComparable dato) { this.dato = dato; this.hijoIzquierdo = null; this.hijoDerecho = null; }