Ich brauche Hilfe beim Implementieren eines Binärbaums in Java.So geben Sie einen Binärbaum in Java ein
Ich meine nicht wie es aus einer Textdatei zu lesen. Ich meine, der Benutzer gibt den Baum mit einem Scanner ein und erstellt und gibt dann die Baumwerte aus. Ein "-" Zeichen bedeutet auch einen Nullwert im Baum.
Bisher habe ich eine Knoten-Klasse arbeiten, aber ich brauche es, um einen Baum aus den genannten Knoten zu machen. Es muss auch wissen, wann man keine Eingaben mehr akzeptiert.
Hier ist der Anfang meines Codes. Ich brauche einen Weg, um eine Liste von Knoten einzugeben und sie mit diesen Klassen zu einem Baum zu machen.
import java.util.Scanner;
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
import java.util.Queue;
import java.util.LinkedList;
/**
*
* @author phirstprince
*/
class TreeNode {
int data;
TreeNode LC, RC;
public TreeNode(int x) {
data = x;
LC = null;
RC = null;
}
}
public class TreeDeserialize {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = input.nextInt();
}
}
Wie zum Beispiel, wenn eine Person eingegeben wurde diese (die - wobei null Knoten)
1
2
3
-
4
5
6
-
-
-
-
-
-
Es es in einen Baum, wie dies organisieren würde.
1
/ \
2 3
\ /\
4 5 6
Jeder denkt, dass sie helfen können? Ich glaube, es würde eine Warteschlange erfordern. Wie kann man sicherstellen, dass es weiß, wann man keine Eingaben mehr akzeptiert?
Versuchen Sie, eine Heap-Struktur zu implementieren? Der Baum, den Sie anzeigen, stimmt nicht mit einem binären Suchbaum überein (2, 4 und 5 sind am falschen Ort), aber er entspricht einem Heap. – 4castle