Help with multiple choice question

AI Thread Summary
The method find is designed to locate a target value within a binary search tree (BST) and will return the corresponding TreeNode or null if not found. The discussion indicates that option E is the correct answer, as the method relies on the properties of a BST and assumes that the target value occurs no more than once. Participants agree that if the target appears multiple times, the method could return one of the two possible nodes. The consensus is that the method is effective only under specific conditions related to the structure of the tree and the uniqueness of the target. Overall, the method's functionality is contingent on the tree being a binary search tree.
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?
 
Physics news on Phys.org
I'll agree with you and for the same reasons.
 

Similar threads

Replies
1
Views
9K
Replies
6
Views
3K
Replies
1
Views
1K
Replies
1
Views
3K
Replies
1
Views
1K
Replies
2
Views
4K
Replies
2
Views
6K
Back
Top