
Braulio Alejo Aguilar
PreguntaHola
Alguien me podría ayudar por favor a saber el por que la recursividad no se vuelve infinita?
Es que no encuentro el caso base, y si no tuviera caso base se volvería infinito el dividir la lista del lado izquierdo

Julian Alejandro Archila Caro
Hola, te recomiendo ver este video sobre los call stacks. Me ayudo mucho a entender como se acumulan los frames, en donde se detienen y como se resuelven.

Nicoll Idaly Angulo Mejia
En los vídeos no se vuelve infinita porque siempre se elige el caso base, por ejemplo cuando ya no haya más elementos en la lista

Rafael Alejandro Santos Trujillo
Precisamente eso es lo peligroso de la recursividad... caer en un ciclo infinito. Si creamos una función sin caso base, obtendremos el equivalente recursivo de un bucle infinito. Sin embargo, como cada llamada recursiva agrega un elemento a la pila de llamadas a funciones y la memoria de nuestras computadoras no es infinita, el ciclo deberá terminarse cuando se agote la memoria disponible.
En particular, en Python, para evitar que la memoria se termine, la pila de ejecución de funciones tiene un límite. El límite por omisión es de 1000 llamadas recursivas. Es posible modificar el tamaño máximo de la pila de recursión mediante la instrucción sys.setrecursionlimit(n). Sin embargo, si se está alcanzando este límite suele ser una buena idea pensar si realmente el algoritmo recursivo es el que mejor resuelve el problema.