순열

Algorithm/java

순열(permutation) 구현

순열? 서로 다른 n개의 원소에서 r개를 중복없이 순서에 상관있게 선택하는 혹은 나열하는 것 nPr = n*(n-1)*(n-2)* …*(n-r+1) ex) 1~10의 숫자 중에서 3개의 숫자를 중복없이 순서에 상관있게 선택하는 경우의수 10Ρ3 = 10 x 9 x 8 = > 720 가지 구현 방법 숫자를 담을 nums[] 배열과 방문처리를 해줄 visited[] 배열을 생성한다. perm(0) 함수를 타고 0 ~ N 까지 for문을 돌면서 방문한 적이 없다면 방문처리와 함께 nums[] 배열에 값을 넣어주고 perm(cnt+1) 재귀함수를 탄다. 계속 반복하다가 cnt 가 R(3)이 되었을 때, 배열을 출력하고 return 한다. p[] 배열 중 R(3)개 를 nums[] 배열에 순서에 상관 있게 뽑는 ..

yeeeooonn
'순열' 태그의 글 목록