Sie können dies nicht mit der TreeMap, die in der Bibliothek Sammlungen implementiert ist. Hier ist eine Implementierung eines Red-Black Tree in Java, die Sie jedoch betrachten können. Sehen Sie sich die Methoden printTree()
an, um zu sehen, wie sie den Baum in sortierter Reihenfolge durchlaufen.
/**
* Print all items.
*/
public void printTree() {
printTree(header.right);
}
/**
* Internal method to print a subtree in sorted order.
* @param t the node that roots the tree.
*/
private void printTree(RedBlackNode t) {
if(t != nullNode) {
printTree(t.left);
System.out.println(t.element);
printTree(t.right);
}
}
Von dass vielleicht können Sie Ihre eigenen Methoden schreiben, den Baum in allen drei Aufträge zu durchqueren.
Es ist mehr eine Frage der Theorie als der Anwendung. – kylex
Hi @Uri, RB Trees immer das Gleichgewicht halten, egal in welcher Reihenfolge die Schlüssel eingefügt sind, richtig? Also ist es richtig anzunehmen, dass, wenn wir Schlüssel in die TreeMap in einer entarteten Weise einfügen, die Such- und Einfügezeiten "O (log N)" sind? – SexyBeast