option B
balanced binary search tree
to find if the element is present it takes O(log n)
then if not just insert it takes O(log n).
deleting an element takes O(log n) ,so balanced BST is one of our viable data structure now lets move on to heap
they have not made a sound whether its max heap or min heap so lets be general ..
finding an element if its already present it takes O(n)
suppose the element we are searching for is at the lowest level . then we compare our element with root and find out thats its not that element we are searching for ,then we are standing at cross roads whether to go the left subtree or right subtree .so we need to go to both of the subtrees as we dont have clues to which subtree which belongs ..
so no need to go further just declare balanced BST is the only possible data structure we are in need of .........