순열 (Permutation) - 교환방식
- 순열 (Permutation) - n개의 수를 중복을 허용하지 않고(visited) r개를 나열할 수 있는 모든 경우의 수 (1 ≤ r ≤ n) 문제인식) 1부터 3(n)까지의 수가 있다. 이들을 이용하여 3(r)개의 수를 중복없이 나열하고자 할 때 가능한 모든 경우를 각각 한 줄씩 출력하고자 한다면 어떻게 해야할까? int n=3, r=3; 해결과정) 1) 현재위치(dpth)와 맞바꿀 위치(i)간에 swap을 진행한다. dpth는 재귀의 깊이이자 맞바꿀 위치의 시작. 2) 맞바꿀 위치(dpth)를 옮기기위해 다음 위치(dpth+1)로 재귀적 진입을 한다. 3) 깊은재귀가 끝나면 윈위치시킨다.(다시 swap) (※ [더보기]를 클릭하면 C/C++ 소스코드를 참조할 수 있습니다.) 더보기 #includ..
2022.04.11