Question : Write a function to find inorder successor of a given node in a binary search tree. Our inclination would be to write tree minimum of right subtree. Because we already use this mechanism while deleting a node with both subtrees. But what we fail to notice is that tree minimum of right subtree would be present if there IS a right subtree. What if the node has no right child? What if it is a leaf node? Which nodes are successors of these nodes? And how do we find them? The inorder successor of 3 can be found out as tree minimum of right subtree, which is 4. But what about successors of 4? Or 7? Or successor 13? One method would be to store parent link in each node. And travel up finding parent nodes until the parent node has a value greater than given node. But that needs modification of the structure. Another method is to start from root node and search for a given value and store node with larger value as successor and terminate when we come across a node w...