Java实现二叉排序树
1.二叉树的概念和特点
1.1二叉树
- 特点
- 每个节点最多有两颗子树
- 左子树和右子树是有顺序的,次序不能颠倒。
- 即使某个节点只有一个子树,也要区分左右子树
- 图示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200204164157308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI1ODg0NTE1,size_16,color_FFFFFF,t_70)
1.2节点
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200204164209448.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI1ODg0NTE1,size_16,color_FFFFFF,t_70)
1.3二叉排序树
- 二叉排序树的特点
- 每个根节点中的左子节点的值都小于根节点中的值
- 每个根节点中的右子节点的值都大于根节点中的值
- 树中没有重复的值
2.实现二叉排序树
2.1实现节点
public class Node {
private int value;
private Node leftNode;
private Node rightNode;
public Node(){
}
public Node(int value){
this.value = value;
}
@Override
public String toString() {
return "Node{" +
"value=" + value +
'}';
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public Node getLeftNode() {
return leftNode;
}
public void setLeftNode(Node leftNode) {
this.leftNode = leftNode;
}
public Node getRigh