public boolean lleno(){
		ListaEnlazadaGenerica<ArbolBinario<T>> colaAct = new ListaEnlazadaGenerica<ArbolBinario<T>>();
		ListaEnlazadaGenerica<ArbolBinario<T>> colaSgt = new ListaEnlazadaGenerica<ArbolBinario<T>>();
		ListaEnlazadaGenerica<ArbolBinario<T>> colaAux;
		
		ArbolBinario<T> nodo;
		
		colaAct.agregar( this );
		
		while ( ! colaAct.esVacia() ){
			nodo = colaAct.elemento(0);
			colaAct.eliminar(0);
			
			if ( nodo.grado() == 0 ){
				while (! colaAct.esVacia() ) {
					nodo = colaAct.elemento(0);
					colaAct.eliminar(0);
					
					if ( nodo.grado() != 0) 
						return false;
				}
				return true;
			}
			else if ( nodo.grado() == 2 ){
				colaSgt.agregar(nodo.getHijoIzquierdo());
				colaSgt.agregar(nodo.getHijoDerecho());
				 while (! colaAct.esVacia() ){
		
					nodo = colaAct.elemento(0);
					colaAct.eliminar(0);
					
					if (nodo.grado() != 2)
						return false;
					colaSgt.agregar(nodo.getHijoIzquierdo());
					colaSgt.agregar(nodo.getHijoDerecho());
				 }
			}
			else{
				return false;
			}
			
			colaAux = colaSgt;
			colaSgt = colaAct;
			colaAct = colaAux;
		}
		
		return true;		
	}