Java中的二叉搜索树(如果想知道Java中有关二叉搜索树的知识点,那么只看这一篇就足够了!)
二叉搜索树(BST,Binary Search Tree)在Java中的实现可以通过一个内部类Node来完成,同时包含插入、删除、查找等基本操作。以下是一个简单的Java实现示例:
public class BinarySearchTree {
private Node root;
private class Node {
int value;
Node left;
Node right;
public Node(int value) {
this.value = value;
left = null;
right = null;
}
}
public void insert(int value) {
root = insert(root, value);
}
private Node insert(Node node, int value) {
if (node == null) {
return new Node(value);
}
if (value < node.value) {
node.left = insert(node.left, value);
} else if (value > node.value) {
node.right = insert(node.right, value);
}
return node;
}
public boolean search(int value) {
return search(root, value);
}
private boolean search(Node node, int value) {
if (node == null) {
return false;
}
if (node.value == value) {
return true;
} else if (value < node.value) {
return search(node.left, value);
} else {
return search(node.right, value);
}
}
// 删除操作略
}
这个示例展示了二叉搜索树的基本插入和查找操作。删除操作更复杂,涉及到子节点为叶子节点、只有一个子节点、有两个子节点的不同情况,代码略。
评论已关闭