알고리즘 이론

순열

HTG 2021. 10. 6. 20:25
728x90
def perm(n, k):
    if k == n:
        print(p)
        return
    else:
        for i in range(k, n):
            p[k], p[i] = p[i], p[k]
            perm(n, k+1)
            p[k], p[i] = p[i], p[k]

p = [1, 2, 3]
perm(3, 0)
def f(n, m, k):
    if n == k:
        print(p)
    else:
        for i in range(m):
            if u[i] == 0:
                u[i] = 1
                p[k] = arr[i]
                f(n, m, k+1)
                u[i] = 0

p = [0] * 3
arr = [1,2,3,4,5]
u = [0] * len(arr)
# mPn, 몇번째 수인지
f(3, 5, 0)

 

'알고리즘 이론' 카테고리의 다른 글

그래프 - 최단 경로(다익스트라 - 우선순위 큐)  (0) 2021.12.14
조합  (0) 2021.10.25
그래프 - 최단 경로  (0) 2021.10.13
그래프 - MST(최소 비용 신장 트리)  (0) 2021.10.13