PREORDER | TRAVERSING TECHNIQUE
A Short Trick
Let we understand the PREORDER TRAVERSING TECHNIQUE from the following binary tree.
Suppose we have any binary tree such as:
80 , 50 , 100 , 45 , 95 , 110 , 47 , 99 , 115 , 97
Now we find Preorder sequence of following binary tree.
First mark every node at the right side of node like
Now here preorder sequence will be:
PREORDER: 80 , 50 , 45 , 47 , 100 , 95 , 99 , 97 , 110 , 115
RECURSIVE PROCEDURE FOR PREORDER
void Preorder( struct node *root)
{
if ( root 1=NULL)
{
Printf ( "%d", root➜data);
Preorder ( root ➜lc);
Preorder (root➜rc);
}
}
NON RECURSIVE FUNCTION FOR PREORDER
void Preorder(structnode *root)
{
structnode *nodestack[50], *temp=root;
int tos= 0 ;
node stack[Tos] = NULL;
temp=root;
while (temp 1 = NULL)
{
printf(" %d ", temp➜data);
if (temp ➜ rc != NULL)
{
node stack[++Tos] = temp ➜ rc;
}
if (temp ➜ lc != NULL )
{
temp = temp ➜ lc;
}
else
{
temp = node stack [Tos--];
}
}
No comments:
Post a Comment