public void porNivel() { Cola <NodoGeneral <T> > cola = new Cola <NodoGeneral <T> >(); cola.encolar(this.getRaiz()); while (!cola.esVacia()) { NodoGeneral <T> nodo = cola.desencolar(); Console.WriteLine(nodo.getDato()); foreach (NodoGeneral <T> element in nodo.getHijos()) { cola.encolar(element); } } }
public int altura(ArbolGeneral <int> arbol) { NodoGeneral <int> nodo = arbol.getRaiz(); int alturaMaxima = 0; int alturaTemporal; if (nodo == null) { return(alturaMaxima); } else { for (int i = 0; i < nodo.getHijos().Count; i++) { alturaTemporal = altura(arbol.getHijos()[i]); if (alturaTemporal > alturaMaxima) { alturaMaxima = alturaTemporal; } } return(alturaMaxima); } }
public ArbolGeneral(T dato) { this.raiz = new NodoGeneral <T>(dato); }
private ArbolGeneral(NodoGeneral <T> nodo) { this.raiz = nodo; }