Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1) Draw the BINARY TREE that can result in the following two traversals [a] In-O

ID: 3635360 • Letter: 1

Question

1) Draw the BINARY TREE that can result in the following two traversals
[a] In-Order Traversal: 5,8,14,18,20,25
[b] Pre-Order Traversal: 20,5,14,8,18,25




Explanation / Answer

#include #include typedef struct tag_btreenode{ struct tag_btreenode *left; char data; struct tag_btreenode *right; } btreenode; void tree_insert(btreenode* root, char data){ btreenode* curNode; curNode = root; while(1){ if (data > curNode->data){ if (curNode->right == NULL){ curNode = curNode->right = malloc(sizeof(btreenode *)); curNode->data = data; curNode->left = NULL; curNode->right = NULL; return; }else curNode = curNode->right; }else{ if (curNode->left == NULL){ curNode = curNode->left = malloc(sizeof(btreenode *)); curNode->data = data; curNode->left = NULL; curNode->right = NULL; return; } else curNode = curNode->left; } } } btreenode* create_binary_tree(char *inorder, char *preorder, int length){ int i; btreenode *root = malloc(sizeof(btreenode *)); root->data = *preorder; root->left = NULL; root->right = NULL; for(i=0;ileft); printf("%c", root->data); tree_traverse(root->right); } int main(){ printf("New tree is: "); tree_traverse(create_binary_tree("ABCDEFGHI", "FBADCEGIH", 9)); printf(" "); }