How to find a target value within a binary search tree, in Java?

How to find a target value within a binary search tree, in Java?

To find a target value within a binary search tree in Java, you can use a recursive or iterative algorithm to traverse the tree and search for the target value at each node.

Here's an example of how to find a target value within a binary search tree in Java:

re‮t ref‬o:lautturi.com
public class Node {
  int value;
  Node left;
  Node right;

  public Node(int value) {
    this.value = value;
  }
}

public class BinarySearchTree {
  Node root;

  public boolean search(int target) {
    return search(root, target);
  }

  private boolean search(Node node, int target) {
    if (node == null) {
      return false;
    }

    if (node.value == target) {
      return true;
    }

    if (target < node.value) {
      return search(node.left, target);
    } else {
      return search(node.right, target);
    }
  }
}

// Test the binary search tree
BinarySearchTree tree = new BinarySearchTree();
tree.root = new Node(5);
tree.root.left = new Node(3);
tree.root.right = new Node(7);

int target = 3;

if (tree.search(target)) {
  System.out.println("Found target: " + target);
} else {
  System.out.println("Target not found: " + target);
}

In the above example, the BinarySearchTree class has a search() method that uses a recursive approach to traverse the tree and search for the target value at each node. The method takes a target value as an argument and returns true if the value is found in the tree, or false if it is not.

Created Time:2017-11-01 20:42:47  Author:lautturi