인프런 커뮤니티 질문&답변
안녕하세요 제가 이해한게 맞는지 궁금합니다.
작성
·
543
0
종이에 그림 그리면서 이해한게 맞는가 궁금합니다
처음 숫자 1, 2, 3
n = 3 r = 3 depth = 0으로 함수 출발
parmutation(3, 3, 0)
i = depth
i = 0, depth = 0
swap(v[i], v[depth);
1과 1을 스왑 = 아무일도 없었다
스왑결과 = 1, 2, 3
parmutation(3, 3, dpeth + 1)출발
parmutation(3, 3, 1)
i = depth
i = 1, depth = 1
swap(v[i], v[depth]);
2와 2를 스왑 = 아무일도 없었다
스왑결과 = 1, 2, 3
parmutation(3, 3, depth + 1)출발
parmutation(3, 3, 2)
i = depth
i = 2, depth = 2
swap(v[i], v[depth]);
3과 3을 스왑 = 아무일도 없었다
스왑결과 = 1, 2, 3
parmutation(3, 3, dpeth + 1)출발
r = 3 depth = 3
입구컷
parmutation(3, 3, 2)로 복귀
아래에있는 swap(v[i], v[depth])진행
원복 결과 = 1, 2, 3
i를 1증가
i = 3, depth = 2
i < n인데 3 < 3은 컷
리턴
parmutation(3, 3, 1)로 복귀
아래에있는 swap(v[i], v[depth)진행
원복 결과 = 1, 2, 3
i를 1증가
i = 2 depth = 1
swap(v[i], v[depth])
3과 2를 스왑 = 1, 3, 2
스왑 결과 = 1, 3, 2
parmutation(3, 3, depth + 1)출발
parmutation(3, 3, 2)
i = depth
i = 2, depth = 2
swap(v[i], v[depth]);
2와 2를 스왑
스왑 결과 = 아무일도 없었다
parmutation(3, 3, depth + 1)출발
parmutation(3, 3, 3)
r = 3 dpeth = 3
입구컷
리턴
parmutation(3, 3, 2)로 복귀
아래에있는 swap(v[i], v[depth])진행
원복결과 1, 3, 2
i 를 1 증가
i = 3, depth = 2
i < n인데 3 < 3은 컷
리턴
parmutation(3, 3, 1)로 복귀
i를 1증가
i = 3 depth = 1
여기도
i = 3, n = 3이라 컷
parmutation(3, 3, 0)으로 복귀
나머지도 이런식인 것 같은데 좀 길어서 읽기 불편하시겠지만 이게 맞나요ㅜㅜ
한 2시간 그림만 그리다가 도출한게 이겁니다 ㅠㅠㅠ
이해가 느린편이라 그런지 통곡의 벽이네요 이거..
답변 1
0
안녕하세요 ㅎㅎ 이게 사실 첨에는 이해 하기가 힘들죠.
제가 글만 봐서는 잘 모르겠는데 혹시 그리신 그림 첨부 가능하실까요?
그리신 그림 첨부하시면 됩니다. (다시 질문으로 주셔도 되구요)
감사합니다.





