二叉查找树有这几个规则
1、若左子树不为空,那么左子树所有节点的值小于均小于他的根节点的值。
2、若右子树不为空,那么右子树的所有节点的值大于根节点的值。
3、左右子树也分别为二叉树排序树。
4、没有键值相等的节点。
注意:每个值都不能一样,如果有一样的,我们不需做考虑。
添加挺简单的,看下面的代码。
首先做准备
// 主要用来保存节点
private Node<T> root ;
// 用来操作节点的
private Node<T> opRoot ;
// 用来存放元素,准备遍历元素,放到list集合种
private List<T> list = new ArrayList<>();
上面这些是准备数据
还需注意一下:Node里面除了左右节点外,还有指向父节点的parent
下面这些是真真的操作
public void insert(T t){
if(opRoot == null){
root.setT(t);
opRoot = root;
return ;
}
opRoot = root ;
Node<T> node = new Node<T>();
node.setT(t);