supongo que te referis a la recursividad más común de todas que es cuando una función se llama a sí misma, pero la recursividad en sí tiene una formula bastante sencilla de entender pero un poco más dificil de imaginar para implementar. Donde en el comienzo de la función se verifica una condición de corte de recursividad (para no entrar en un loop infinito), luego se vuelve a llamar a sí misma generalmente con algún cambio (ej en los parámetros). Un buen ejemplo es la función factorial:
long factorial(long x){
if(x==0) //Condición de corte
/*Si se verifica se termina la función*/
return 1;
else
/*Sino se vuelve a llamar a sí misma con algo cambiado*/
return (x * factorial(x-1));
}
El último renglón es por la definición de factorial, y generalmente existirá alguna regla similar en la función que se realice.Para recorrer un árbol binario por ejemplo se hace con recursividad pero si esto es lo que llamas recursividad simple, entonces eso debe ser recursividad "compuesta", q sería lo mismo pero f1 llama a f2 y f2 llama a f1.
Espero haber ayudado, cualquier cosa manda un mail :-)