

fmyInfBT n = Join n (fmyInfBT (2*n) ) (fmyInfBT ((2*n)+1)) 

myIT:: InfNBT 

myIT = fmyInfBT 1





takeTlevel 0 t = [t]

takeTlevel n (Join _ t1 t2)= (takeTlevel (n-1) t1)++(takeTlevel (n-1) t2)



roots [] = []
roots ((Join n t1 t2):ts) = n:(roots ts)



levelorderAux l infT = (roots (takeTlevel l infT))++(levelorderAux (l+1) infT)



levelorder infT = levelorderAux 0 infT




[1..]


