2014-11-25 2 views
0

자바에서 트리를 만들 때 몇 가지 의문점이 있습니다. 최대 3 개의 노트와 각 학생의 ID가있는 학생의 데이터를 저장하는 트리를 만들어야합니다. 또한 왼쪽 노트에 노트를 입력해야합니다. 입력 한 것보다 낮은 성적을 가진 모든 학생들과 그 노트에 가장 적합한 노드를 보여줘야합니다. 누군가 나를 도울 수 있니? 내가 학생 및 노드의 구조를 가지고 있지만 까다로운 조금 학생들구조체 java 트리 데이터

학생

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

분명히하려면 이진 나무 개념이 필요하지만 커리큘럼의 일부로 해결할 수있는 문제를 직접 해결할 방법을 요구하는 경우에는 문제가되지 않습니다. 개념에 대한 질문을 통해 명확하지 않은 개념적 부분을 분석하고 명확성을 얻으십시오. – Ironluca

+0

@Ironluca 어쩌면 당신이 잘못 생각한 것일 수도 있습니다. 특정 클래스 (이 경우 학생)에 데이터를 입력 할 수 있는지 알고 싶었습니다. 학생 – NHTorres

+0

좋습니다.이 힌트는 바이너리 트리에 루트 노드가 있습니다. 대부분 루트 노드가 있습니다. 중간 값. B- 트리의 모든 레벨에는 정확하게 두 개의 노드가 있습니다. 일반적으로 왼쪽 노드는 부모 노드보다 값이 작고 오른쪽 노드는 부모 노드보다 값이 큽니다. 기본 아이디어는 최대한 빨리 값을 검색하는 것입니다. 귀하의 경우, 부모 노드는 50- 왼쪽 노드가 0-49이고 오른쪽 노드 50-100이됩니다. 귀하의 경우, 3 과목이 있기 때문에 나무는 추상 노드로 3 개의 이진 나무가됩니다 - 행운을 빕니다 :) – Ironluca

답변

1

확인에 노드를 삽입하는 느낌이 힌트, binar입니다 나무는 대부분의 경우 중간 값 인 루트 노드를가집니다. B- 트리의 모든 레벨에는 정확하게 두 개의 노드가 있습니다. 일반적으로 왼쪽 노드는 부모 노드보다 값이 작고 오른쪽 노드는 부모 노드보다 값이 큽니다. 기본 아이디어는 최대한 빨리 값을 검색하는 것입니다. 귀하의 경우, 부모 노드는 50- 왼쪽 노드가 0-49이고 오른쪽 노드는 51-100입니다. 당신의 경우, 3 개의 주제가 있기 때문에 트리는 3 개의 2 진 트리가되어야하고 최상위 노드는 추상으로 간주됩니다.