누구나 내게이 순열 algo을 설명 할 수 있을까? 나는 그것이 pemutations는 것을 알고 있지만, 나는 그것이 작동하는 이유를 알아낼 수 없습니다. 그것은 호출 기능에 대한 변경은 호출자의 배열에 영향을 미치지 않도록 s
(목록), 변경할 수 있음을 의미 파이썬 코드 때문에나에게 순열에 대해이 고인을 설명 할 수 있습니까?
s = [1,2,3,4,5,6,7,8,9]
def perm(s, i):
if i == len(s):
print s
for j in range(i, len(s)):
s[i], s[j] = s[j], s[i]
perm(s, i + 1)
s[i], s[j] = s[j], s[i] //why it swaps back?
@ Jason 전화가 어느 시점에서 돌아옵니다. –
@Jason 재귀 호출이 돌아 오면 다시 전환됩니다. –
@Jason 재귀 호출은 동일한 스왑 백 라인을 사용하여 스스로 실행 취소합니다. –