A major operation, which we often apply in a binary tree is the traverse. There are three different methods for traversing a tree:
- Preorder
- Inorder
- Postorder
The following code snippets are these methods in C :
void preorder_traversal(struct node_t * node)
{
if (node == NULL)
return;
printf("%dn", node->value);
preorder_traversal(node->left);
preorder_traversal(node->right);
}
void inorder_traversal(struct node_t * node)
{
if (node == NULL)
return;
inorder_traversal(node->left);
printf("%dn", node->value);
inorder_traversal(node->right);
}
void postorder_traversal(struct node_t * node)
{
if (node == NULL)
return;
postorder_traversal(node->left);
postorder_traversal(node->right);
printf("%dn", node->value);
}