Chapitre 06 - Recursive programming Flashcards

1
Q

Pourquoi a t’on besoin de la récursion

A

En programmation fonctionnelle, les fonctions étant pure, il ne sert à rien de faire des boucles. Ce qui est interessant ce sont les appels imbriqués f(f(f(x))) d’ou la récursivité

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Peut-on remplacer toutes les boucles avec mutables ?

A

Oui c’est toujours possible avec de la récursion et des valeurs immutables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Exemple d’algorithme récursif

A

Hanoi et Factorielle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quelle est le principe de base derrière les algorithmes récursifs

A

Que le gros problème se décompose en sous problème qui peuvent si nécessaire se redécomposer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quelles sont les 3 éléments majeurs dont il faut tenir compte lors de la réalisation d’un algorithme récursif

A

1/ Au moins une branche ne doit pas être récursive
2/ Tous les sous problèmes doivent résoudre une sous partie du problème initial (et pas augmenter)
3/ le focus doit se faire sur la réalisation du plus petit problème de base pas sur le récursif

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Exemples de structures récursives

A

Arbre et Lists

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce que le tail recursion optimisation

A

Le problème de la récursion c’est la pile d’appel. Le tail recursion optimisation a pour but de transformer la récursion en une boucle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quand est possible le tail recursion optimisation

A

Quand la dernière ligne de la fonction est un appel vers le résultat d’une fonction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quand est possible le tail recursion optimisation

A

Quand la dernière ligne de la fonction est un appel vers le résultat d’une fonction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly