我在java中创建树时有些疑惑,需要创建一个树来保存学生的数据,每个学生最多有3个笔记,每个学生都有一个id。我还需要您输入一个注释,特别是左侧节点向我显示所有学生,他们的成绩低于输入和右侧节点,他们对该音符最重要。有人可以帮帮我吗?我有学生和节点的结构,但我觉得插入节点与他们的学生有点棘手
学生
public class Alumno {
private String rut;
private String[] notas;
public Alumno(String rut, String[] notas) {
this.rut = rut;
this.notas = notas;
}
public Alumno(){
}
public String getRut() {
return rut;
}
public void setRut(String rut) {
this.rut = rut;
}
public String[] getNotas() {
return notas;
}
public void setNotas(String[] notas) {
this.notas = notas;
}
@Override
public String toString() {
return "Alumno{" + "rut=" + rut + ", notas=" + notas + '}';
}
}
节点
public class Nodo {
private Alumno dato;
private Nodo izquierdo;
private Nodo derecho;
public Nodo(Alumno dato){
this.dato = dato;
}
public Nodo getNodoIzquierdo(){
return izquierdo;
}
public Nodo getNodoDerecho(){
return derecho;
}
public void setNodoIzquierdo(Nodo nodo){
izquierdo = nodo;
}
public void setNodoDerecho(Nodo nodo){
derecho = nodo;
}
}
答案 0 :(得分:1)
好的,这是一个提示,binar树有一个根节点,在大多数情况下是一个中间值。在B树的任何级别,恰好有两个节点,通常左节点的值小于父节点,右节点的值大于父节点。主要想法是尽可能快地搜索值。在您的情况下,父节点将具有50并且左节点将是0-49并且右节点将为51-100。在你的情况下,由于有3个主题,树应该是3个二叉树,顶部节点是抽象的。