Aufgabe 2

Rumpelstielzchen
Neuling
Neuling
Beiträge: 1
Registriert: 13. Jun 2011 17:45

Aufgabe 2

Beitrag von Rumpelstielzchen » 13. Jun 2011 17:51

Ich stehe wohl im Moment ziemlich auf dem Schlauch.
Die eigentliche Aufgabe ist mir klar, jedoch stutze ich schon bei den unter Punkte der 2. Aufgabe. Was sollen denn die Methoden die ich implimentiere, später bewirken.

Ich glaube mir fehlt einfach das besagte Steinchen, das das Ganze ins rollen bringt.

Benutzeravatar
Owyn
BSc Spammer
BSc Spammer
Beiträge: 1012
Registriert: 5. Sep 2005 21:53
Wohnort: Rheingau

Re: Aufgabe 2

Beitrag von Owyn » 13. Jun 2011 18:44

Die Klasse Node (bzw. jede Klasse, die das Interface INode implementiert) soll einen Baumknoten im Huffman-Baum darstellen.
Jeder Knoten hat ein Symbol/Zeichen, ein Gewicht und potenziell zwei Kinder 0 und 1. Diese vier Dinge müssen in jedem Objekt der Klasse gespeichert werden und bekommen beim Aufruf des Konstruktors, also beim Erzeugen eines Objekts, Werte zugewiesen.
Die vier get-Methoden dienen nur dazu, die Werte auch wieder auszulesen - Stichwort "Datenkapselung"!


Gruß,
Christian Heinig
All those who believe in psycho-kinesis, raise my hand.
(Steven Wright)

Tia
Neuling
Neuling
Beiträge: 6
Registriert: 27. Okt 2010 00:15

Re: Aufgabe 2

Beitrag von Tia » 20. Jun 2011 18:09

Hallo, in der Aufgabe 2e) ist ja die merge-Methode zu schreiben, nach der der neue Knoten auch die beiden Nachfolgeknoten erhält. Irgendwie will es mir nicht gelingen, diese zu übergeben...

Weitere Sachen funktionieren, aber an der Stelle hängts, und ich wäre für jeden Tipp dankbar :)

Benutzeravatar
m_stoica
Kernelcompilierer
Kernelcompilierer
Beiträge: 473
Registriert: 5. Dez 2008 20:19
Wohnort: Zuhause

Re: Aufgabe 2

Beitrag von m_stoica » 20. Jun 2011 18:45

Hi,
Die Methode merge(...) bekommt einen INode als Parameter. Den zweiten Knoten musst du nicht übergeben, da dieser das Objekt selbst ist.
Beispiel:

Code: Alles auswählen

//Erstelle zwei Knoten
INode a = ...
INode b = ...
//"Merge" a mit b und speichere Ergebnis in neu:
INode neu = a.merge(b); 
Grüße,
Michael

Tia
Neuling
Neuling
Beiträge: 6
Registriert: 27. Okt 2010 00:15

Re: Aufgabe 2

Beitrag von Tia » 20. Jun 2011 22:56

Ja, das mit dem Parameter der Methode habe ich auch so wie du geschrieben hast, verstanden und gemacht, aber meine diese Stelle in Aufgabe 2e): "Der erzeugte Knoten
soll außerdem den aktuellen Knoten und den übergebenen Knoten als Kinder haben."

Und das will leider nicht funktionieren... Trotzdem ein Tipp?

edit: Ja, lag natürlich doch am Konstruktor und den dort initialisierten Objektvariablen, danke.., jetzt passt es.
Zuletzt geändert von Tia am 22. Jun 2011 22:03, insgesamt 1-mal geändert.

Smie
Erstie
Erstie
Beiträge: 15
Registriert: 22. Nov 2010 10:32

Re: Aufgabe 2

Beitrag von Smie » 21. Jun 2011 01:58

Tia hat geschrieben:Trotzdem ein Tipp?
Im vorgegebenen Code ist ein Knoten "other" als parameter definiert, in der Aufgabenstellung steht "Auf den „aktuellen Knoten“ können Sie mit dem
Schlüsselwort this zugreifen."
Du hast in Aufgabenteil d) einen Konstruktor erstellt, der alle Objektvariablen (darunter die beiden Kinder) erwartet. Wo ist jetzt dein Problem genau? oO

Antworten

Zurück zu „Archiv“