Übung10

Moderator: AI 2

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Übung10

Beitrag von m_flaig »

Hier können Sie Fragen zu Übung10 stellen oder zu Themen, die in Übung10 behandelt wurden.

ratatam
Erstie
Erstie
Beiträge: 14
Registriert: 30. Apr 2014 16:35

Re: Übung10

Beitrag von ratatam »

Hallo,

sollte beim 3. Konstruktor in Aufgabe 1.2 a) die Paramer "left" und "right" nicht besser vom Typ "Node" als von "Tree" sein?

grüße

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Übung10

Beitrag von m_flaig »

Hallo,

nein: Laut Aufgabenstellung soll der neue Baum aus zwei vorhandenen Bäumen erstellt werden. Überlegen Sie, was den neuen Baum auszeichnet / aus was dieser dann besteht... eine Skizze kann helfen 8)

VG,
M.Flaig

mdk
Mausschubser
Mausschubser
Beiträge: 43
Registriert: 18. Apr 2014 10:33

Re: Übung10

Beitrag von mdk »

Ich hab ein Problem bei der Übung mit Eclipse (glaube ich zumindest):

Die betreffende Zeile ist grün hinterlegt. Wenn ich mit der Maus über den Pfeil links fahre, erscheint ein Fensterchen mit dem Inhalt "Debug Current Instruction Pointer".
Ich hab keine Ahnung was damit gemeint ist. Kann mir jemand helfen?
Dateianhänge
Fehler1.JPG
Fehler1.JPG (15 KiB) 1368 mal betrachtet
Fehler2.JPG
Fehler2.JPG (15.75 KiB) 1368 mal betrachtet

Benutzeravatar
SophiaLi1
Moderator
Moderator
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Übung10

Beitrag von SophiaLi1 »

Das bedeutet, dass gleichzeitig dein Debugger läuft und der sich gerade im Programmablauf an dieser Stelle befindet. Wechsel am Besten in den Debugger-Modus und drücke "Resume".

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Übung10

Beitrag von m_flaig »

Eine Musterlösung ist ab sofort in moodle verfügbar.

mdk
Mausschubser
Mausschubser
Beiträge: 43
Registriert: 18. Apr 2014 10:33

Re: Übung10

Beitrag von mdk »

Hallo,

ich bin mit der Implementation fertig und wollte dann mittels der TreeTest Klasse das Programm testen. Eigentlich sollte auf de Konsole ja der ganze Baum ausgegeben werden. Wird er bei mir aber nicht (es wird nichts ausgegeben). Es erscheint aber auch keine Fehlermeldung. Also habe ich es mal mit dem Debugger versucht. Habe in der TreeTest Klasse in der Methode test() an der Stelle t.print(); einen Breakpoint gesetzt, um zu sehen, was dort los ist. Aber auch das debuggen half mir nicht weiter. Das einzige was an Meldung kommt, ist: Thread [main] (Running) siehe Screenshot.

Kann jemand mit dieser Meldung etwas anfangen? Ich hab das gefühl, dass Programm hängt irgendwie bzw. läuft unendlich lange.

Grüße,
Martin
Dateianhänge
Unbenannt_01.JPG
Unbenannt_01.JPG (230.13 KiB) 1290 mal betrachtet

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Übung10

Beitrag von m_flaig »

Hallo,

beim Erzeugen von root benutzen Sie den Konstruktor der Node Klasse. Schauen Sie sich den nochmal genau an...
Denken Sie daran, dass die Reihenfolge der Parameter eine Rolle spielt :wink:

VG,
M.Flaig

Holly19
Erstie
Erstie
Beiträge: 21
Registriert: 18. Mai 2014 12:15

Re: Übung10

Beitrag von Holly19 »

Hi,
kann der Baum in Aufgabe 1.2 auch Duplikate enthalten? Wenn ja, sollte man das Duplikat dann links oder rechts vom Knoten speichern?

Vielen Dank und liebe Gruesse!

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Übung10

Beitrag von m_flaig »

Hallo Holly,

gleiche Werte sollen nicht berücksichtigt werden, bzw. können dann einfach weggelassen werden =)

Viele Grüße,
M.Flaig

Holly19
Erstie
Erstie
Beiträge: 21
Registriert: 18. Mai 2014 12:15

Re: Übung10

Beitrag von Holly19 »

Hi,
kann mir vielleicht jemand einen Tipp geben, wie man die Methode insert(Node i) rekursiv loest? Steh da irgendwie grad ein bisschen auf dem Schlauch.. :(

Benutzeravatar
SophiaLi1
Moderator
Moderator
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Übung10

Beitrag von SophiaLi1 »

In der Klasse Node müsstest du eine Methode insertNode(Node i) implementieren, die sich selbst aufruft und zwar in folgender Form:
i ist der Knoten, der eingefügt werden soll. Falls der Key von i lexographisch vor dem Key des Knotens kommt, auf dem die Methode aufgerufen wurde, unterscheidet man zwischen Zwei Fällen: Falls der rechte Nachfolger null ist, setzt man i an die Stelle des rechten Nachfolgers und beendet die Methode, falls nicht, dann ruft man die Methode insertNode(Node i) auf dem rechten Nachfolger auf.
Falls der Key von i lexographisch nach dem Key des Knotens kommt, auf dem die Methode aufgerufen wurde, ist die Vorgehensweise so ähnlich wie auf der rechten Seite.

Antworten

Zurück zu „AI 2“