结构java树数据

时间:2014-11-25 12:52:57

标签: java binary-tree

我在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;
}
}

1 个答案:

答案 0 :(得分:1)

好的,这是一个提示,binar树有一个根节点,在大多数情况下是一个中间值。在B树的任何级别,恰好有两个节点,通常左节点的值小于父节点,右节点的值大于父节点。主要想法是尽可能快地搜索值。在您的情况下,父节点将具有50并且左节点将是0-49并且右节点将为51-100。在你的情况下,由于有3个主题,树应该是3个二叉树,顶部节点是抽象的。