J'ai un code qui utilise la récursivité pour calculer la permutation des caractères d'une chaîne. Je comprends la récursivité de la queue normale et les récursions pour palindrome, factorielle, conversion décimale en binaire mais j'ai du mal à comprendre comment fonctionne cette récursivité, je veux dire comment ça fonctionne en arrière-plan, pas seulement les choses abstraites du niveau supérieur. .Explication du programme de permutation récursive Python
ici est le code
from __future__ import print_function
def permutef(s):
#print('\nIM CALLED\n')
out = []
if len(s) == 1:
out = [s]
else:
for i,let in enumerate(s):
#print('LETTER IS {} index is {}'.format(let, i))
#Slicing as not including that letter but includes every letter except that to perform the permutation
for perm in permutef(s[:i] + s[i+1:]):
print(perm)
out += [let + perm]
return out
per = permutef('abc')
print('\n\n\n', per, '\n\n\n')
je en train d'écrire dans un journal chaque cercle est pour chaque lettre et comment la pile correspondante apparaît
Ne pas poser des questions sur mon écriture i connaître son impressionnant (sarcasme)
voici la capture d'écran de sortie
Je veux comprendre le Nitty Gritty sur la façon dont cela fonctionne en arrière-plan, mais je ne peux pas sembler comprendre le concept, très très grâce à l'avance.
ce site m'a vraiment aidé merci monsieur :) –