SW/알고리즘
Tree Traversal2 - Inorder traversal
MG_
2019. 2. 23. 16:20
1. 왼쪽 서브 트리를 중위 순회한다.
2. 노드를 방문한다.
3. 오른쪽 서브 트리를 중위 순회한다.
#include <stdio.h>
#include <malloc.h>
#define MAX 7
int tree[MAX];
void initTree() {
for (int i = 0; i < MAX; ++i) {
tree[i] = i + 'A';
}
}
void visit(int idx) {
printf("node %c \n", tree[idx]);
}
void inorder_traversal(int idx) {
if (idx < MAX) {
int left = idx * 2 + 1;
int right = idx * 2 + 2;
inorder_traversal(left);
visit(idx);
inorder_traversal(right);
}
}
int main()
{
initTree();
inorder_traversal(0);
return 0;
}
* Output
D → B → E → A → F → C → G