• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

부분집합구할때 아래와 같이 구해도 괜찮을까요

23.01.16 15:32 작성 23.01.16 15:34 수정 조회수 239

0

arr = []
def DFS(v):
    if v>3:
        return
    else:
        arr.append(v)
        DFS(v+1)
        print(arr)
        arr.remove(v)
        DFS(v+1)
DFS(1)
[1, 2, 3]
[1, 2]
[1, 3]
[1]
[2, 3]
[2]
[3]

 


 

위와같이 풀면 중위순회라고 봐야할지 궁금합니다

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 괜찮습니다. 코드의 가독성을 위해서

arr = []
def DFS(v):
    if v>3:
        if len(arr) > 0:
            print(arr)
    else:
        arr.append(v)
        DFS(v+1)
        arr.remove(v)
        DFS(v+1)
DFS(1)

하면 어떻게 싶습니다.

노드를 출력한게 아니라서 중위순회라고 하기에는 좀 애매하네요.