2016-04-04 23 views
0

Ich muss eine rechts dargestellte Darstellung einer Zeichenfolge aus der linken parenthetischen Darstellung erstellen. Dies bedeutet im Wesentlichen, dass eine String-Eingabe analysiert und später eine rechte Parenthetic-Darstellung neu erstellt wird. Ich muss 2 Methoden implementieren: Eine, die die Eingabe analysieren würde und eine, die die benötigte Darstellung aus dieser geparsten Eingabe erstellt. Dies ist Teil einer Hausaufgabe, die ich in Java machen muss.Erstellen eines Baumes aus der linken Zeichenkette Darstellung der Darstellung

Der Code, wie ich dies testen würde:

String s = "A(B1,C)"; 
    Node t = Node.parse (s); 
    String v = t.rightParentheticRepresentation(); 
    System.out.println (s + " ==> " + v); // A(B1,C) ==> (B1,C)A 

Also muss ich 2 Methoden implementieren: Knoten Parse (String s) und String rightParentheticRepresentation()

ich in der Theorie wissen habe ich eine Idee wie ich weitermachen sollte, aber ich habe Mühe, die Parsing-Methode zu implementieren. Gibt es irgendwelche vorhandenen Implementierungen, die ich verwenden könnte? Jeder Hinweis auf einen Implementierungsansatz ist sehr willkommen oder wenn jemand ein gutes Tutorial zum Aufbau von Bäumen aus einer String-Repräsentation kennt.

+0

@tllsdv checkout this [link] (http://enos.itcollege.ee/~ylari/I231/Node.java) kann es helfen – egima

Antwort

0

Zuerst sollten Sie sich eine Vorstellung von der Datenstruktur machen, die Sie erstellen möchten. Grundsätzlich wollen Sie hier einen Baum, in dem jeder Knoten einem Inhalt innerhalb einer Klammer entspricht (die ursprünglichen Eltern sind implizit - '(' A (B1, C) ')' - in Ihrer Stichprobe).

Für die Parsing-Methode: Lesen Sie die Eingabe String char von char. Immer wenn du eine öffnende Klammer triffst ('du erstellst ein Kind zum aktuellen Knoten und änderst den aktuellen zum neuen Knoten, dann beginne es zu füllen. Wenn du eine schließende Klammer triffst)' finalisierst du den aktuellen Knoten und kommst zu seinem Elternknoten zurück .

Verwandte Themen