Buenas, alguien me puede dar una idea de como quitar la recursividad de esta función de inserción
eq insertar(R, crear) == arbolBin(R, crear, crear) .
ceq insertar(R1, arbolBin(R2, I, D)) ==
if (R1==R2) then
arbolBin(R2, I, D)
elseif (R1<R2) then
if ( (altura(insertar(R1,I)) – altura(D)) < 2) then
arbolBin(R2, insertar(R1, I), D)
else ***hay que reequilibrar
if (R1 < raíz(I)) then
rotarDer(arbolBin(R2, insertar(R1, I), D))
else
rotarDer(arbolBin(R2, rotarIzq(insertar(R1, I)), D))
fi .
fi .
else
if ( (altura(insertar(R1,I)) – altura(D)) < 2) then
arbolBin(R2, insertar(R1, I), D)
else *** hay que reequilibrar
if (R1 > raíz(D)) then
rotarIzq(arbolBin(R, I, insertar(R1, D)))
else
rotatIzq(arbolBin(R, I, rotarDer(insertar(R1, D))))
fi .
fi .
fi .
Gracias y un saludo.