void postordertraversal(struct node *)struct node *findsmallestelement(struct node *)struct node *findlargestelement(struct node *)struct node *deleteelement(struct node *int)struct node *mirrorimage(struct node *)int totalnodes(struct node *)int totalexternalnodes(struct node *)int totalinternalnodes(struct node *)int height(struct node *)struct node *deletetree(struct node *)int main(int optionvalstruct node *ptrcreate_tree(tree)clrscr()do printf("\ ******main menu******\ ")printf("\ insert element")printf("\ preorder traversal")printf("\ inorder traversal")printf("\ postorder traversal")printf("\ find the smallest element")printf("\ find the largest element")printf("\ delete an element")printf("\ count the total number of nodes")printf("\ count the total number of external nodes")printf("\ count the total number of internal nodes")printf("\ determine the height of the tree")printf("\ find the mirror image of the tree")printf("\ delete the tree")printf("\ exit")printf("\ \ enter your option ")scanf("% "&option)switch(optioncase printf("\ enter the value of the new node ")scanf("% "&val)tree insertelement(treeval)breakcase printf("\ the elements of the tree are \ ")preordertraversal(tree)breakcase printf("\ the elements of the tree are \ ")inordertraversal(tree)breakcase printf("\ the elements of the tree are \ ")postordertraversal(tree)breakcase ptr findsmallestelement(tree)printf("\ smallest element is :% ",ptr->data)breakcase ptr findlargestelement(tree)printf("\ largest element is % "ptr->data)breakcase printf("\ enter the element to be deleted ")scanf("% "&val)