0.1 순열, 부분집합, 조합


0.1 순열, 부분집합, 조합

algorithm day10 순열, 부분집합, 조합 0.1.1 순열 개념 서로 다른 것들 중 몇 개를 뽑아서 한 줄로 나열하는 것 서로 다른 n 개 중 r 개를 택하는 순열 nPr = n * (n-1) * (n-2) * (n-3) * ...*(n-r+1) nPn = n!이라고 표기 다수의 알고리즘 문제들은 순서화된 요소들의 집합에서 최선의 방법을 찾는 것과 관련 있다. ex) TSP (Traveling Salesman Problem) N 개의 요소들에 대해서 n! 개의 순열들이 존재한다. 재귀를 이용한 순열 생성 # 자리를 고정하는 순열 def f(i,k, r): if i == r: print(p) else: for j in range(k): if not used[j]: # a[j]가 아직 사용되지 않았으면 used[j] = 1 # a[j] 사용됨으로 표시 p[i] = a[j] # p[i]는 a[j]로 결정 f(i+1,k,r) # p[i+1] 값을 결정하러 이동 used[j] = 0...


#python #개념 #부분집합 #순열 #알고리즘 #재귀 #조합

원문링크 : 0.1 순열, 부분집합, 조합