// 노드 struct
typedef struct Node {
char data;
struct node* left;
struct node* right;
} Node;
// Preorder Traversal
void print_Preorder (Node* root) {
if (root == NULL) {
return;
}
printf("%c ", root->data); // root 출력
print_Preorder(root->left); // 왼쪽 서브트리 재귀
print_Preorder(root->right); // 오른쪽 서브트리 재귀
}
// Inorder Traversal
void print_Inorder (Node* root) {
if (root == NULL){
return;
}
print_Inorder(root->left); // 왼쪽 서브트리로 재귀
printf("%c ", root->data); // root 출력
print_Inorder(root->right); // 오른쪽 서브트리로 재귀
}
// Postorder Traversal
void print_Postorder (Node *root) {
if (root == NULL){
return;
}
print_Postorder(root->left); // 왼쪽 서브트리로 재귀
print_Postorder(root->right); // 오른쪽 서브트리 재귀
printf("%c ", root->data); // root 출력
}