2 Stimmen

BinaryTree in der Standard-API

Mein Lehrer sagte uns, dass es in Java eine Standardklasse für Binärbäume gibt. Ich fand diese BinaryTree-Klasse und ich habe versucht, eine BinaryTree Objekt, aber es hat nicht funktioniert.

Wie kann ich eine BinaryTree diese Klasse verwenden und welche Bibliothek sollte ich einbinden?

Ich habe etwas Ähnliches geschrieben:

private BinaryTree<Integer> c=new BinaryTree<Integer>();

aber es heißt, dass BinaryTree kann nicht in einen Typ aufgelöst werden.

2voto

Mark Rhodes Punkte 9675

Nun, diese Klasse ist sicherlich nicht die "Standard-Java-Klasse". Ich vermute, dein Lehrer meint vielleicht TreeSet die auf einer Form von selbstbalancierender binärer Baum .

Ich bin nicht sicher, wie alt die Klasse der Link, den Sie geben, ist, aber es ist nicht mit Generika, so dass es wahrscheinlich Java 1.4- ist. Außerdem verwendet sie das Standardpaket, was in Java nicht üblich ist und darauf hindeutet, dass sie möglicherweise nicht produktionsreif ist. Der Konstruktor erwartet ein Comparator der die Instanzen, die der Baum speichern wird, vergleichen kann. Wenn Sie z.B. Ganzzahlen in einer Reihenfolge speichern wollen, könnten Sie einen binären Baum wie folgt deklarieren:

BinaryTree bt = new BinaryTree(new Comparator(){
    public int compare(Object a, Object b){
        return ((Integer) a).intValue() - ((Integer) b).intValue();
    }
});

Der obige Code deklariert eine anonyme Klasse, die die Comparator Schnittstelle. Alternativ können Sie auch eine reguläre Klasse verwenden, um dasselbe zu tun:

MyIntegerComparator comparator = new MyIntegerComparator();    
BinaryTree bt = new BinaryTree(comparator);

Wo Sie den Code haben

class MyIntegerComparator implements Comparator {
    public int compare(Object a, Object b){
        return ((Integer) a).intValue() - ((Integer) b).intValue();
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X