Ho letto this una soluzione python semplice ed elegante per trovare tutte le permutazioni di una determinata stringa. È ricorsivo. Sulla base di ciò ho cercato di implementare una soluzione iterativa in python.Soluzione iterativa per: - Trovare permutazioni di stringa
Di seguito è riportato il mio codice. Ma funziona solo per le stringhe di 3 caratteri :(Stuck che prova a vedere come la condizione del caso base di ricorsione e la condizione di ricorsione si traducono in iterativo (non ricorsivo) Qualsiasi puntatore potrebbe aiutare a ottenere una soluzione iterativa funzionante (o basata su questo algoritmo o su qualsiasi altro)
def permutations_iter(word):
while True:
perms = []
result = []
char = word[0]
new_word = word[1:]
if len(new_word)==2:
perms = [new_word,''.join(reversed(new_word))]
for perm in perms:
#insert the character into every possible location
for i in range(len(perm)+1):
result.append(perm[:i] + char + perm[i:])
return result
if len(new_word)==2:
break;
#example code to call this iterative function
print permutations_iter("LSE")
Grazie per il link che ha spiegato E per la soluzione. – goldenmean
excellent.elegant – user2290820
perfetto e pulito! – deeshank