O(n!) - 팩토리얼 시간
O(n!) - 팩토리얼 시간주어진 배열의 원소들을 가능한 모든 순서로 배열하는 것을 순열 생성의 모든 경우의 수이다. 여기서 순열은 일반적인 순열인 직순열로 일직선상의 배열이다. 이러한 연산에서 n개 원소는 n! 개의 순열이 존재하고, 각 순열을 생성하는 데 걸리는 시간을 포함한 전체 시간 복잡도는 n! * n = O(n!)이다. 순열 생성배열 [1, 2, 3]가 있을 때, 가능한 모든 순열은 다음과 같다. [1, 2, 3], [1, 3, 2],[2, 1, 3], [2, 3, 1],[3, 1, 2], [3, 2, 1] 총 3! = 6가지 경우가 존재한다. 코드로 표현하면 다음과 같다.def permutations(arr): if len(arr) :i i인덱스를 제외한 그 앞의 집합, i+1: 다음..
2025. 7. 8.