Question
Please show steps
Explanation / Answer
include typedef struct tnode { int data; struct tnode *right,*left; }TNODE; TNODE *CreateBST(TNODE *, int); void Inorder(TNODE *); void Preorder(TNODE *); void Postorder(TNODE *); main() { TNODE *root=NULL; /* Main Program */ int opn,elem,n,i; do { clrscr(); printf(" ### Binary Search Tree Operations ### "); printf(" Press 1-Creation of BST"); printf(" 2-Traverse in Inorder"); printf(" 3-Traverse in Preorder"); printf(" 4-Traverse in Postorder"); printf(" 5-Exit "); printf(" Your option ? "); scanf("%d",&opn); switch(opn) { case 1: root=NULL; printf(" BST for How Many Nodes ?"); scanf("%d",&n); for(i=1;ileft= root->right = NULL; root->data=elem; return root; } else { if( elem data ) root->left=CreateBST(root->left,elem); else if( elem > root->data ) root->right=CreateBST(root->right,elem); else printf(" Duplicate Element !! Not Allowed !!!"); return(root); } } void Inorder(TNODE *root) { if( root != NULL) { Inorder(root->left); printf(" %d ",root->data); Inorder(root->right); } } void Preorder(TNODE *root) { if( root != NULL) { printf(" %d ",root->data); Preorder(root->left); Preorder(root->right); } } void Postorder(TNODE *root) { if( root != NULL) { Postorder(root->left); Postorder(root->right); printf(" %d ",root->data); } }