poubelle:exercice_recursivite
Exercice sur une liste chaînée
Dans le fichier noeud_recur.py, on définit une classe Noeud qui est un maillon de liste chaînée.
Chaque nœud contient une valeur et pointe vers un élément suivant qui est soit le nœud suivant dans la chaîne, soit None s'il n'y a pas d'éléments suivant.
La classe contient deux méthodes récursives, length et str. On souhaite les modifier.
- Pour
lengthproposer au choix :- une version récursive terminale
- une version non récursive utilisant une boucle
while
- Pour
__str__proposer une version non récursive utilisant une bouclewhile.
Notre classe n'est pas bien protégée. On pourrait créer une chaîne qui reboucle sur elle-même – le dernier maillon pointant sur le premier – et qui créerait de grandes difficultés aux méthodes length et __str__. Vous pouvez réfléchir à une technique permettant de s'assurer, quand on utilise la méthode plug_on pour brancher un nœud, qu'on ne crée pas une chaîne qui se boucle.
poubelle/exercice_recursivite.txt · Dernière modification : de goupillwiki
