前言
二叉搜索树是一种非常重要的数据结构,它是AVL树和红黑树实现的基础,也是TreeSet和TreeMap实现的基础,本篇文章就让我们来研究二叉搜索树背后的原理以及简单实现吧
一、概念
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:
- 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值
- 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值
- 它的左右子树也分别为二叉搜索树
二、代码实现
1、初始化节点
public class BinarySearchTree {
static class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(int val) {
this.val = val;
}
}
}
2、查找
<