💡 Codeing Test/알고리즘

이진트리순회(DFS : Depth First Search) with python

밈98 2023. 1. 29. 13:47

" 인프런 - 파이썬 알고리즘 문제풀이 입문 강의 참고"

 

이진트리 순회(깊이우선 탐색)

 

 

  • 전위순회 :
def DFS(v):
    if v>7:
        return
    else:
        print(v ,end=" ")
        DFS(v*2)
        DFS(v*2+1)

if __name__=="__main__":
    DFS(1)

보통 본연의 작업들을 처리하고 그다음 호출하는 방식이 전위순회 방식이다

  • 중위순회:
def DFS(v):
    if v>7:
        return
    else:
        DFS(v*2)
        print(v, end=" ")
        DFS(v*2+1)

if __name__=="__main__":
    DFS(1)
  • 후위순회:
def DFS(v):
    if v>7:
        return
    else:
        DFS(v*2)
        DFS(v*2+1)
        print(v, end=" ")

if __name__=="__main__":
    DFS(1)