그래프의 일종으로 두 노드 사이의 하나의 간선만 연결되어 있는, 최소 연결과 계층 형태의 비선형 자료 구조
형제노드: 같은 부모를 가진 노드
트리 구조에서 각각의 노드를 정확히 한 번씩 체계적인 방법으로 방문하는 과정
⇒ 방문 순서
F → B → A → D → C → E → G → I → H
preorder(node)
print node.value
if node.left != null then preorder(node.left)
if node.right != null then preorder(node.right)
⇒ 방문 순서
A → B → C → D → E → F → G → H → I
inorder(node)
if node.left != null then inorder(node.left)
print node.value
if node.right != null then inorder(node.right)
낮은 level 부터 순차적으로 순회
⇒ 방문 순서
F → B → G → A → D → I → C → E → H
levelorder(root)
q.enqueue(root)
while not q.empty do
node := q.dequeue()
print node.value
if node.left != null q.enqueue(node.left)
if node.right != null q.enqueue(node.right)
⇒ 방문 순서
A → C → E → D → B → H → I → G → F
postorder(node)
if node.left != null then postorder(node.left)
if node.right != null then postorder(node.right)
print node.value