Question: For this BST tree Why does this give me a timed out error(possibly infinite loop) public static int findClosestValueInBst(BST tree, int target) { if(tree.value ==

For this BST tree

For this BST tree Why does this give me a timed out

Why does this give me a timed out error(possibly infinite loop)

public static int findClosestValueInBst(BST tree, int target) { if(tree.value == target) return tree.value; int temp = tree.value; while(tree != null){ if(Math.abs(temp - target) > Math.abs(target - tree.value)){ temp = tree.value; } if(target tree.value) { tree = tree.right; } } return temp; }

But this one doesnt

public static int findClosestValueInBst(BST tree, int target) { if(tree.value == target) return tree.value; BST next = tree; int temp = tree.value; while(next != null){ if(Math.abs(temp - target) > Math.abs(target - next.value)){ temp = next.value; } if(target tree.value) { next = next.right; } } return temp; }

Sample input: 10 ,12 5 15 2 513 22 1 14 k

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!