Oh My Algorithm
Algorithm Guidecomplexity: O(n)

트리 순회 (Tree Traversal)

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

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
TAP OR HOVER
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)          # 루트 마지막
Guide Progress0%