728x90
이진 트리를 순회하는 방법은 전위, 중위, 후위의 3가지 방법이 있다.
- 전위(preorder) : 루트 - 왼쪽 - 오른쪽
- 중위(Inorder) : 왼쪽 - 루트 - 오른쪽
- 후위(Postorder) : 왼쪽 - 오른쪽 - 루트
1. Preorder Traversal
void preorder(TreeNode *p) {
if (p == NULL)
return;
printf("%d", p->data);
preorder(p->left);
preorder(p->right);
}
2. Inorder Traversal
void inorder(TreeNode *p) {
if (p == NULL)
return;
inorder(p->left);
printf("%d", p->data);
inorder(p->right);
}
3. Postorder Traversal
void postorder(TreeNode *p) {
if (p == NULL)
return;
postorder(p->left);
postorder(p->right);
printf("%d", p->data);
}
728x90
'CS > 자료구조' 카테고리의 다른 글
[자료구조] Graph(그래프) - 최단 경로 알고리즘 (0) | 2023.01.07 |
---|---|
[자료구조] Graph(그래프) - 진출/진입 차수 계산 (0) | 2023.01.06 |
[자료구조] Tree(트리) - 이진 트리 (0) | 2023.01.05 |
[자료구조] 하노이 탑 (0) | 2023.01.05 |
[자료구조] 피보나치 수열 (0) | 2023.01.05 |