자바로 만드는 조합(Combination) 알고리즘
: n개 중에서 r개를 선택하는 방법의 수. 가령 집합 { A, B, C, D } 에서 2명을 순서와 상관없이 선택하는 방법은 어떤 경우가 있을까요? {A, B}{A, C}{A, D}{B, C}{B, D}{C, D} 위와 같이 총 6가지가 있습니다. 지금부터 이런 부분집합을 구하는 방법에 대해서 알아보겠습니다.아래와 같은 점화식을 이용해 재귀함수로 구현해 볼 것입니다. 일단 점화식에 대해서 알아보자면 n 개중 r 개를 뽑는 방법은 i) 어떤 특정한 원소를 포함하고 뽑았을 때 ii) 어떤 특정한 원소를 포함하지 않고 뽑았을 때 두가지로 나뉘어 집니다. i) 어떤 특정한 원소를 포함하고 뽑았을 때는이제 그특정한 놈 1개는 이미 뽑혔고 제외한 나머지 n-1 개에서 r-1개만 뽑으면 되니깐 경우의 수는 이고 i..
프로그래밍/알고리즘
2016. 12. 7. 01:42