순열과 조합의 차이는 무엇인가?
순열을 알아보기 전에 순열과 조합의 차이를 먼저 알아보자!
순열과 조합의 가장 큰 차이는 순서가 있고 없고 이다.
예를 들어 자전거의 번호가 있는 자물쇠를 연다고 가정해보자. 자물쇠 번호가 1234라고 한다면 순서에 대한 고려 없이 4321을 입력하면 자물쇠는 열리지 않는다.
이를 순열이라고 한다. (순서가 있음)
또 다른 예시로 닭가슴살 샐러드를 가정해보자. 닭가슴살 샐러드의 재료는 닭가슴살, 양상추, 소스, 토마토라고 한다면 우리는 샐러드를 담을 때 닭가슴살을 처음으로 넣고 두 번째는 양상추... 이런 식으로 넣지 않고 그냥 재료에 맞게 넣는다.
이를 조합이라고 한다. (순서가 없음)
이제 수학적으로 다가가 보자
1 2 3 4 배열이 있고 2가지 경우를 뽑는다고 가정해보자
순열의 경우에는 순서가 중요하기에 하기와 같이 다 뽑아 버린다.
1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3
조합의 경우에는 순서가 중요하지 않기에 하기와 같이 중복되는 것을 빼고 뽑는다.
1 2
1 3
1 4
2 3
2 4
3 4
- 순열은 순서가 있는 조합니다.
- 순서를 고려한다는 것은 순서가 바뀌면 다른 것으로 취급함을 의미
- 조합은 순서를 생각하지 않고 선택만 한다.
References
'CS > Algorithm' 카테고리의 다른 글
(알고리즘) N과 M (2) - 조합 (0) | 2020.10.21 |
---|---|
(알고리즘) N과 M (1) - 순열 (0) | 2020.10.20 |
(알고리즘) 정렬 (3) - 퀵정렬 (0) | 2020.02.26 |
(알고리즘) 정렬 (2) - 선택정렬 (0) | 2020.02.23 |
(알고리즘) 정렬 (1) - 개요 및 버블 정렬 (0) | 2020.02.23 |