次の順列コードの再帰ツリーの描画に問題があります。
def permut(array):
if len(array) == 1:
return [array]
res = []
for permutation in permut(array[1:]):
print permutation, array
for i in range(len(array)):
res.append(permutation[:i] + array[0:1] + permutation[i:])
return res
私の配列が「mick」であるとしましょう。次に、順列と配列の次の出力を取得します。
k と ck
ck と ick
kc と ick
ニックとミック
'k' と 'ck' (array = 'ck' len(arraw[1:]) == 1 の場合のように) までは理解できますが、再帰で配列として 'ick' を取得するにはどうすればよいでしょうか? とにかくこれを視覚化できますか?ヒントをありがとう!