조합론과 경우의 수 조합론(Combinatorics) - 프로그래밍에서 많이 쓰임 물건들을 여러 가지 형태로 그룹 짓는 방법을 연구하는 학문 예) 16비트 숫자로 표현 가능한 갯수, 알고리즘 복잡도 계산 경우의 수 어떤 시도(trail)를 통해 일어날 수 있는 사건(events)의 가짓 수 경우의 수 세기 : 몇 개인지 세는 기법 대표적인 두 가지 방법 - 곱의 법칙, 합의 법칙 곱의 법칙 다음과 같은 절차가 있다고 가정해보자. 이 절차는 2개의 일(tasks)로 나눠 수행할 수 있다. 첫 번째 일을 할 수 있는 방법은 n₁개 두 번째 일을 할 수 있는 방법은 n₂개 두 번째 일은 첫 번째 일이 끝나야 할 수 있다. 총 가짓 수는 n₁ x n₂ 일의 수가 늘어나도 동일하다 n₁ x n₂ x n₃ x ....