Oh My Algorithm
Algorithm Guidecomplexity: O(n)

트리 순회 (Tree Traversal)

트리의 모든 노드를 한 번씩 방문하는 방법입니다. 방문 시점에 따라 전위(루트 먼저)·중위(왼쪽→루트→오른쪽, BST에서 정렬 순)·후위(루트 마지막)·레벨 순회로 나뉩니다.

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
Inorder Traversal
50307020406080

중위 순회(inorder)를 시작합니다. 왼쪽 서브트리 → 루트 → 오른쪽 순서로 방문하며, BST에서는 정렬된 순서로 출력됩니다.

Logic Node1 / 9

02 쉽게 이해하기

For Everyone
🔑비유

가계도를 정해진 순서로 빠짐없이 한 명씩 방문하는 것과 같습니다.

💡쉽게 말하면

트리의 모든 노드를 한 번씩 들르는 방법입니다.

루트를 언제 방문하느냐에 따라 전위·중위·후위로 나뉘고, BST를 중위로 돌면 정렬된 순서가 나와요.

📍어디에 쓰나
  • 폴더 전체 출력
  • 수식 계산(파스 트리)
  • 트리 직렬화

03 파이썬 구현 코드

트리 순회 (Tree Traversal)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.

core_implementation.py
def inorder(node):
    if not node:
        return
    inorder(node.left)
    visit(node)          # 왼 → 루트 → 오른
    inorder(node.right)

def preorder(node):
    if not node:
        return
    visit(node)          # 루트 먼저
    preorder(node.left)
    preorder(node.right)

def postorder(node):
    if not node:
        return
    postorder(node.left)
    postorder(node.right)
    visit(node)          # 루트 마지막

04 자주 묻는 질문

FAQ
트리 순회 (Tree Traversal)란 무엇인가요?+

트리의 모든 노드를 한 번씩 방문하는 방법입니다. 방문 시점에 따라 전위(루트 먼저)·중위(왼쪽→루트→오른쪽, BST에서 정렬 순)·후위(루트 마지막)·레벨 순회로 나뉩니다.

트리 순회 (Tree Traversal)의 시간복잡도는 어떻게 되나요?+

트리 순회 (Tree Traversal)의 시간복잡도는 O(n) 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.

트리 순회 (Tree Traversal)은(는) 어디에 사용하나요?+

폴더 전체 출력, 수식 계산(파스 트리), 트리 직렬화.

트리 순회 (Tree Traversal)를 쉽게 비유하면?+

가계도를 정해진 순서로 빠짐없이 한 명씩 방문하는 것과 같습니다.

Guide Progress0%