二叉排序树查找代码java实现
时间: 2023-11-10 09:02:59 浏览: 43
二叉排序树查找代码Java实现:
```
public class BinarySearchTree {
private TreeNode root;
public BinarySearchTree() {
root = null;
}
public void insert(int value) {
root = insert(root, value);
}
private TreeNode insert(TreeNode node, int value) {
if (node == null) {
node = new TreeNode(value);
return node;
}
if (value < node.val) {
node.left = insert(node.left, value);
} else if (value > node.val) {
node.right = insert(node.right, value);
}
return node;
}
public TreeNode search(int value) {
return search(root, value);
}
private TreeNode search(TreeNode node, int value) {
if (node == null || node.val == value) {
return node;
}
if (value < node.val) {
return search(node.left, value);
} else {
return search(node.right, value);
}
}
private class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
left = null;
right = null;
}
}
}
```