L’histoire de la récursivité : origines et définition

Qui a inventé la récursivité ?
1) Ackermann. En 1927, Gabriel Sudan a inventé une fonction récursive à deux variables entières, pour répondre à une question mathématique de David Hilbert. L’année suivante, Wilhelm Ackermann a publié une fonction similaire mais avec trois variables. Ackermann semble avoir créé cette fonction en 1926.
En savoir plus sur irem.univ-reunion.fr


La récursivité est un concept clé en informatique, utilisé pour résoudre des problèmes complexes en les divisant en tâches plus simples. Mais qui a inventé la récursivité ? La réponse n’est pas simple, car le concept est présent dans de nombreuses cultures depuis des siècles. Cependant, le terme « récursivité » a été introduit dans le domaine de l’informatique dans les années 1950 par le mathématicien américain Stephen Kleene.

Qu’est-ce qu’un programme récursif ?

Un programme récursif est un programme qui s’appelle lui-même pour résoudre un problème. En d’autres termes, une fonction récursive est une fonction qui utilise la récursivité. Ce type de programme est souvent utilisé pour résoudre des problèmes qui peuvent être divisés en sous-problèmes plus petits et similaires, qui peuvent ensuite être résolus en utilisant la même fonction.

Comment faire une fonction récursive ?

Pour faire une fonction récursive, vous devez définir la fonction elle-même en termes de problèmes plus petits et similaires. Ensuite, vous pouvez utiliser cette fonction pour résoudre le problème global. Par exemple, si vous voulez écrire une fonction qui calcule le factoriel d’un nombre, vous pouvez définir la fonction elle-même comme le produit du nombre et du factoriel du nombre précédent.

C’est quoi l’algorithme ?

Un algorithme est une séquence d’instructions qui décrit comment résoudre un problème. Les algorithmes sont utilisés en informatique pour résoudre des problèmes de manière efficace et systématique. Un bon algorithme doit être facile à comprendre, facile à mettre en œuvre et efficace.

Comment se définit la complexité en temps d’un algorithme ?

La complexité en temps d’un algorithme mesure le temps nécessaire pour résoudre un problème en fonction de la taille de l’entrée. Elle est souvent exprimée en notation « O », qui décrit la limite supérieure de la complexité en temps. Par exemple, si un algorithme est O(n), cela signifie que le temps nécessaire pour résoudre le problème est proportionnel à la taille de l’entrée.

Comment faire une fonction récursive en C ?

Pour faire une fonction récursive en C, vous devez définir la fonction elle-même en termes de problèmes plus petits et similaires. Ensuite, vous pouvez utiliser cette fonction pour résoudre le problème global. Par exemple, si vous voulez écrire une fonction qui calcule le factoriel d’un nombre en C, vous pouvez définir la fonction elle-même comme le produit du nombre et du factoriel du nombre précédent. Vous pouvez ensuite appeler la fonction elle-même pour résoudre le problème de manière récursive.

FAQ
Comment calculer la complexité d’un programme Python ?

Pour calculer la complexité d’un programme Python, il est possible d’utiliser l’analyse de la complexité algorithmique. Cette analyse consiste à déterminer le nombre d’opérations élémentaires effectuées par le programme en fonction de la taille de l’entrée. On peut utiliser des outils tels que le Big O notation pour exprimer cette complexité. Il est également possible d’utiliser des bibliothèques telles que timeit pour mesurer le temps d’exécution d’un programme et ainsi évaluer sa complexité en termes de temps.

Comment savoir si une fonction est récursive ?

Pour savoir si une fonction est récursive, il faut vérifier si elle s’appelle elle-même à l’intérieur de son corps. Si c’est le cas, alors la fonction est récursive. Il est important de s’assurer que la fonction a une condition d’arrêt pour éviter une boucle infinie.

Comment montrer qu’une fonction est primitive récursive ?

Pour montrer qu’une fonction est primitive récursive, il faut la décrire comme une composition de fonctions de base primitives récursives. Cela signifie qu’il est possible de construire la fonction en utilisant des opérations telles que la composition, la récursion primitive et la projection. Si chaque fonction utilisée pour construire la fonction finale est primitive récursive, alors la fonction finale sera également primitive récursive.


Laisser un commentaire