(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Category:ECE264]] [[Category:Programming]] [[Category:C]] | |
+ | |||
+ | = [[ECE264]]: Binary Tree: In Order and Post Order = | ||
− | = | + | ==== '''In Order Printing''' ==== |
− | |||
In order printing takes the root of a binary tree and prints all the values in the tree in order. The function is a recursive function that goes as far left in the binary tree until it hits the end. It will then print the leaf's value. After the leaf's value is printed, the function moves to the right once and precedes to go left until a leaf is found. Printing the leaf's value and continues on. | In order printing takes the root of a binary tree and prints all the values in the tree in order. The function is a recursive function that goes as far left in the binary tree until it hits the end. It will then print the leaf's value. After the leaf's value is printed, the function moves to the right once and precedes to go left until a leaf is found. Printing the leaf's value and continues on. | ||
Line 28: | Line 29: | ||
<br> | <br> | ||
− | ==== Post Order Printing ==== | + | ==== Post Order Printing ==== |
− | Post order printing is similar to in order printing in the sense that all values of the tree are printed but is different in the order of which the values are printed. | + | Post order printing is similar to in order printing in the sense that all values of the tree are printed but is different in the order of which the values are printed. |
− | Post prder printing will take any node in the tree and print all the values to the left and right before the original node is printed. Example: If the root of the binary tree is 19 and post order printing is called with the root, then the very last line of output will be 19. | + | Post prder printing will take any node in the tree and print all the values to the left and right before the original node is printed. Example: If the root of the binary tree is 19 and post order printing is called with the root, then the very last line of output will be 19. |
− | <br> | + | <br> |
− | Example code for in order printing: | + | Example code for in order printing: |
void Tree_postOrder(TNode *n) /*see declaration of TNode below*/ | void Tree_postOrder(TNode *n) /*see declaration of TNode below*/ | ||
Line 74: | Line 75: | ||
}TNode; | }TNode; | ||
− | + | ---- | |
− | + | [[2011_Spring_ECE_264_Lu|Back to ECE264, Spring 2011, Prof. Lu]] | |
− | + |
Latest revision as of 06:46, 11 July 2012
ECE264: Binary Tree: In Order and Post Order
In Order Printing
In order printing takes the root of a binary tree and prints all the values in the tree in order. The function is a recursive function that goes as far left in the binary tree until it hits the end. It will then print the leaf's value. After the leaf's value is printed, the function moves to the right once and precedes to go left until a leaf is found. Printing the leaf's value and continues on.
Example code for in order printing:
void Tree_inOrder(TNode *n) /*see declaration of TNode below*/
{
if(n==0)
return;
Tree_inOrder(n->left);
printf("%d\n", n->value);
Tree_inOrder(n->right);
}
Post Order Printing
Post order printing is similar to in order printing in the sense that all values of the tree are printed but is different in the order of which the values are printed.
Post prder printing will take any node in the tree and print all the values to the left and right before the original node is printed. Example: If the root of the binary tree is 19 and post order printing is called with the root, then the very last line of output will be 19.
Example code for in order printing:
void Tree_postOrder(TNode *n) /*see declaration of TNode below*/
{
if(n==0)
return;
Tree_postOrder(n->left);
Tree_postOrder(n->right);
printf("%d\n", n->value);
}
The declaration of TNode is as followed:
typedef struct Treenode
{
int value;
struct Treenode *left;
struct Treenode *right;
}TNode;