定义:它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。
运算限制:非空左子树的所有节点值小于当前节点值,非空右子树的所有节点值大于当前节点值。
基本概念:
基本运算:
1,查找。
2,插入。
3,删除。要删除的节点有两个子节点时,用右子节点的最左子节点值替换。其他情况用存在的子节点(没有值。。字)或者不存在子节点时用null替换。
最开心的时候到了。看代码
/**
* <p>Description: </p>
* @author 未知神秘人物
* @date 2019年3月8日
*/
public class BinarySearchTree implements Tree {
private Node root ;//根节点
//树中是否存在指定值
public boolean isExist(Node node,Integer value){
if(node == null || value == null){
r