Ich brauche eine Art und Weise, recursive
/non recursive
drucken BST von groß nach kleinen Nummer, Beispiel: für diesen Baum werfen, kam die Antwort, wieDrucke binärer Suchbaum von größter Anzahl an kleinsten Java mit
möchte ich bekommen: 25,20,16,15,10,9,8,6,4,3,2,1
weiß ich, wie es umgekehrt zu drucken: (in order)
public void displaySmallToBig(Node root){ // inorder
if(root!=null){
displaySmallToBig(root.left);
System.out.print(" " + root.data);
displaySmallToBig(root.right);
}
}
Wird gedruckt: 1 2 3 4 4 6 8 9 10 15 16 20 25
Vielen Dank im Voraus 2 alle Helfer.
ganze Klasse:
package com.company;
public class BinarySearchTree {
public static Node root;
public BinarySearchTree(){
this.root = null;
}
public void displaySmallToBig(Node root){ // inorder
if(root!=null){
displaySmallToBig(root.left);
System.out.print(" " + root.data);
displaySmallToBig(root.right);
}
}
public void displayBigToSmall(Node root){
if(root!=null){
displaySmallToBig(root.right);
System.out.print(" " + root.data);
displaySmallToBig(root.left);
}
}
public static void main(String arg[]){
BinarySearchTree b = new BinarySearchTree();
b.insert(3);
b.insert(8);
b.insert(1);
b.insert(4);
b.insert(6);
b.insert(2);
b.insert(10);
b.insert(9);
b.insert(20);
b.insert(25);
b.insert(15);
b.insert(16);
System.out.println("Original Tree : ");
System.out.println("displaySmallToBig");
b.displaySmallToBig(b.root);
System.out.println("");
System.out.println("displayBigToSmall");
b.displayBigToSmall(b.root);
}
}
class Node{
int data;
Node left;
Node right;
public Node(int data){
this.data = data;
left = null;
right = null;
}
}
Wenn Sie wissen, wie man in der Reihenfolge druckt, der n Sie müssen nur die Reihenfolge umschalten ... Versuchen Sie nun, den Teil in Ihrem Code zu identifizieren, der die Reihenfolge bestimmt. – Turing85
Ich weiß, aber aus irgendeinem Grund druckt es nicht die richtige Reihenfolge, es ist print: 4 6 8 9 10 15 16 20 25 3 1 2 – Start
Die Methode 'einfügen (...)' fehlt. – Turing85