data structures using the left sub-tree is nullthen the value of the root node will be smallest as compared to the nodes in the right sub-tree soto find the node with the smallest valuewe find the value of the leftmost node of the left sub-tree the recursive algorithm to find the smallest node in binary search tree is shown in fig deletetree(treefindsmallestelement(treestep if tree !null deletetree (tree -leftdeletetree (tree -rightfree (tree[end of ifstep end step if tree null or tree -left null returen tree else return findsmallestelement(tree -left[end of ifstep end figure alogrithm to delete binary figure algorithm to find the smallest node in binary search tree search tree finding the largest node in binary search tree to find the node with the largest valuewe find the value of the rightmost node of the right subtree howeverif the right sub-tree is emptythen the root node will be the largest value in the tree the recursive algorithm to find the largest node in binary search tree is shown in fig findlargestelement(treestep if tree null or tree -right null return tree else return findlargestelement(tree -right[end of ifstep end figure algorithm to find the largest node in binary search tree smallest node (left-most child of the left sub-tree figure largest node (right-most child of the right sub-treebinary search tree consider the tree given in fig the smallest and the largest node can be given asprogramming example write program to create binary search tree and perform all the operations discussed in the preceding sections #include #include #include struct node int datastruct node *leftstruct node *right}struct node *treevoid create_tree(struct node *)struct node *insertelement(struct node *int)void preordertraversal(struct node *)void inordertraversal(struct node *)