Hallo zusammen,
Problembeschreibung:
Bei der Aufgabe geht es darum einen beliebigen Ausdruck (in Präfixnotation) in einen Baum abzuspeichern. z.B. ~ 4 6 + 3 -7 1, wobei die Knoten eine einfache verkette Liste darstellen sollen. Ich habe bereits versucht das mit Stift und Papier nachzuvollziehen (siehe Anhang).
Es handelt sich dabei um einen Baum der keine Einschränkungen an der Anzahl der Kindknoten hat:
[CODE lang="java" title="Baum ohne Einschränkungen"]class TreeObjekt<T> {
private TreeObjekt<T> parent = 0;
private TreeObjekt<T> leftChild = 0;
private TreeObjekt<T> rightSiblings = 0;
private T data;
...
}[/CODE]
Dabei ist das Attribut leftChild die head-Referenz und das Attribut rightSibling entspricht der next Referenz einer einfach verkettete Liste (siehe Abbildung rot umkreist).
Ergebnis (Wie soll es am Ende aussehen):
GUI mit Eingabefeld eines Ausdrucks in Präfixnotation (eine Zeichenkette mit Leerzeichen als Trenner), ein Button zum Starten der Berechnung, Ausgabe des Baumes in einem Panel oder ähnliches.
Ich habe das, wie auf der Zeichnung zu sehen, versucht herunter zu brechen auf kleine Teilschritte und zu verdeutlichen wie das Programm am Ende aussehen soll. Nur sobald ich mich an Java setze bin ich überfordert und komme nicht voran / weiß nicht wie ich die Theorie in die Praxis umsetze. Kann mir da jemand eine Hilfestellung geben, wie man da am Besten vorgeht ggf. noch weiter herunterbricht, sodass einem die Java Implementierung nicht als Unmöglich vorkommt?😅
Danke im Voraus
LG
Problembeschreibung:
Bei der Aufgabe geht es darum einen beliebigen Ausdruck (in Präfixnotation) in einen Baum abzuspeichern. z.B. ~ 4 6 + 3 -7 1, wobei die Knoten eine einfache verkette Liste darstellen sollen. Ich habe bereits versucht das mit Stift und Papier nachzuvollziehen (siehe Anhang).
Es handelt sich dabei um einen Baum der keine Einschränkungen an der Anzahl der Kindknoten hat:
[CODE lang="java" title="Baum ohne Einschränkungen"]class TreeObjekt<T> {
private TreeObjekt<T> parent = 0;
private TreeObjekt<T> leftChild = 0;
private TreeObjekt<T> rightSiblings = 0;
private T data;
...
}[/CODE]
Dabei ist das Attribut leftChild die head-Referenz und das Attribut rightSibling entspricht der next Referenz einer einfach verkettete Liste (siehe Abbildung rot umkreist).
Ergebnis (Wie soll es am Ende aussehen):
GUI mit Eingabefeld eines Ausdrucks in Präfixnotation (eine Zeichenkette mit Leerzeichen als Trenner), ein Button zum Starten der Berechnung, Ausgabe des Baumes in einem Panel oder ähnliches.
Ich habe das, wie auf der Zeichnung zu sehen, versucht herunter zu brechen auf kleine Teilschritte und zu verdeutlichen wie das Programm am Ende aussehen soll. Nur sobald ich mich an Java setze bin ich überfordert und komme nicht voran / weiß nicht wie ich die Theorie in die Praxis umsetze. Kann mir da jemand eine Hilfestellung geben, wie man da am Besten vorgeht ggf. noch weiter herunterbricht, sodass einem die Java Implementierung nicht als Unmöglich vorkommt?😅
Danke im Voraus
LG