Help with multiple choice question

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 replies · 3K views
snipez90
Messages
1,095
Reaction score
5

Homework Statement


Which is true about the method find?

//Return TreeNode with target value, or null if target not found
public static TreeNode find(TreeNode root, Comparable target)
{
if(root == null)
return null;
else if(target.compareTo(root.getValue()) == 0)
return root;
else if(target.compareTo(root.getValue()) < 0)
return find(root.getLeft(), target);
else
return find(root.getRight(), target);
}

A) Method find will never work as intended
B) Method find will always work as intended
C) Method find will only work as intended if target is not in the tree.
D) Method find will always work as intended if the tree is a binary search tree
E) Method find will only work as intended if the tree is a binary search tree and target occurs no more than once in the tree

Homework Equations





The Attempt at a Solution



I chose E. Since it uses methods getLeft() and getRight(), it appears to work only for binary search trees. Also, it target occurred twice, it could return one of two pointers right?
 
on Phys.org
I'll agree with you and for the same reasons.