2014-11-25 193 views
0

我在java中創建樹時有些疑惑,需要創建一個樹來保存每個學生最多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 2014-11-25 13:06:06

+0

@Ironluca也許你表達我錯了,我只是想知道是否可以輸入數據作爲一個特定的類,在這種情況下學生 – NHTorres 2014-11-25 13:08:46

+0

好吧,這是一個提示,二叉樹有一個根節點,在大多數情況下一個中間值。在B樹中的任何級別都有兩個節點,通常左側節點的值小於父節點,右側節點的值大於父節點。主要想法是儘可能快地搜索價值。在你的情況下,父節點將有50和左節點將是0-49和右節點50-100。在你的情況下,因爲有3個主題的樹應該是3個二叉樹,頂節點爲抽象 - 祝你好運:) – Ironluca 2014-11-25 13:49:47

回答

1

好插入節點,這是一個提示,比納爾樹有一個根節點,在大多數情況下它是一箇中間值。在B樹中的任何級別都有兩個節點,通常左側節點的值小於父節點,右側節點的值大於父節點。主要想法是儘可能快地搜索價值。在你的情況下,父節點將有50和左節點將是0-49和右節點51-100。在你的情況中,由於有3個主題,所以樹應該是3個二叉樹,頂部節點是抽象的。