public int ancho(){
		
		if (this.raiz == null){
			return 0;
		}
		
		Cola<ArbolGeneral<T>> cola = new Cola<ArbolGeneral<T>>();
		
		cola.agregar(this);
		cola.agregar(new ArbolGeneral<T>());
		int gradoMax = 0;
		
		while ( !cola.esVacia() ){
			int grado = 0;
			
			while ( (!cola.esVacia()) && (cola.tope().getDatoRaiz() != null) ){
				grado++;
				ArbolGeneral<T> act = cola.sacar();
				ListaEnlazadaGenerica<ArbolGeneral<T>> hijosAct = act.getHijos();
				hijosAct.comenzar();
				while (!hijosAct.fin()){
					cola.agregar( hijosAct.elemento() );
					hijosAct.proximo();
				}
				cola.agregar(new ArbolGeneral<T>());
			}
			if (!cola.esVacia()){
				cola.sacar();
			}
			if (grado > gradoMax){
				gradoMax = grado;
			}
		}
		
		return gradoMax;
	}