순열(permutation) 알고리즘
순열(permutation) 순열이란 서로 다른 n 개 중 r 개를 골라 순서를 고려해 나열한 경우의 수를 말합니다.예를들어, 집합의 원소가 {A, B, C} 일때, 3개의 원소를 모두 사용하여 순서를 고려해 나열하는 경우의 수는 A B C, A C B, B A C, B C A, C B A, C A B로 총 6가지 경우가 나오게 됩니다. 순열 알고리즘 순열의 모든 경우를 빼먹지 않고 고려하기 위해서는 아래와 같은 로직으로 찾아갑니다. 0번째 인덱스 원소를, 0번째 부터 n-1번째까지 위치를 바꿉니다. ( A B C를 기준으로 이 과정을 진행하면 A B C, B A C, C B A 가 됩니다.)1번 과정을 진행해서 나온 경우들을, 1번째 인덱스 원소를, 1번째 부터 n-1번째까지 위치를 바꿉니다.이러한 과..
Algorithm
2019. 1. 3. 10:06