moin
http://vsis-www.informatik.uni-hamburg.de/teaching/ws-03.04/p3/a2/aufg2.pdfDie isEmpty-Methode soll laut Aufgabenzettel wie folgt definiert sein:
isEmpty(Object o) : boolean
Meine Frage lautet nun: Wozu ist das Object o da ? Ich hab das ganze so gemacht, das ich bei nem Baum einfach prüfe wie der Wert der Wurzel aussieht.. ist er 'null' ist der Baum leer..
Danke im vorraus, Felix
Wuerd ich auch mal fuer 'nen Tippfehler halten.
wieso linkst du nicht die einfachere html-Version?
da stehts übrigens ohne Parameter
http://vsis-www.informatik.uni-hamburg.de/teaching/ws-03.04/p3/a2.phtml
und ich wunder mich schon, warum mir das nicht aufgefallen ist…
da brauchen wir doch auch eine node-klasse, oder? Die muss dann natürlich andere sachen haben als predecessor und sccessor…
da brauchen wir doch auch eine node-klasse, oder?
Macht Sinn. Geht natuerlich auch ohne, aber wir wollen ja kein C schreiben :)
ich mag schnelle antworten. danke!
Auch zu Aufgabe 3:
Soll der Baum stets balanciert sein, so dass er immer die minimale Hoehe besitzt oder ist das egal? Weiss noch dass in meiner Gruppe was dazu gesagt wurde kann mich abe rnicht mehr genau dran erinnern wie es nun war
mmh. habe jetzt eine klasse binarysearchtree und eine klasse node. node hat die "[get|set|has][Left|Right]Child"-Methoden.
Wie soll ich jetzt im BST die min-methode implementieren?
if(currentNode.hasLeftChild())
return currentNode.getLeftChild().??;
else
return currentNode.getValue();
Mein Dilemma ist, dass ich ja vom leftChild des aktuellen node wieder die min-methode aufrufen möchte. Aber der Node hat ja garkeine min-methode. muss ich die etwa einbauen oder wie habt ihr das geloest?
danke!
mmh. habe jetzt eine klasse binarysearchtree und eine klasse node. node hat die "[get|set|has][Left|Right]Child"-Methoden.
Wie soll ich jetzt im BST die min-methode implementieren?
if(currentNode.hasLeftChild())
return currentNode.getLeftChild().??;
else
return currentNode.getValue();
Mein Dilemma ist, dass ich ja vom leftChild des aktuellen node wieder die min-methode aufrufen möchte. Aber der Node hat ja garkeine min-methode. muss ich die etwa einbauen oder wie habt ihr das geloest?
P3 ist zwar für mich schon her, aber wenn ich mich richtig erinnere hab ich das grob so gemacht:
min() ruft eine methode intern_min(Node n) auf, so dass da ein Knoten dranhängt. Die Method kann dann rekursiv sich slebst mit den beiden Unterknoten aufrufen und dann von sich selbst und den kleinsten Elementen in den Unterknoten das kleinste aussuchen.
Ich hoffe das ist net zu viel verraten, ansonsten plattmachen [img]
http://unimatix.sternenvolk.de/gfx/28.gif[/img]
ah, ich glaub ich habs. danke für die antwort, hat geholfen!
hallo um ab jetzt die übungsfolien herunterzuladen muss man ein Passwort eingeben wo bekomme ich diesen???
Auf der P3-Homepage steht folgender Satz:
"Zum Herunterladen wird ein Paßwort benötigt, welches bei den Übungsgruppenleitern zu erfragen ist. "[img]
http://unimatix.sternenvolk.de/gfx/23.gif[/img]
ist neu, Herr Lamersdorf wollte seine Folien erst nur von der Uni aus zugaenglich machen, aber nun wurde halt n Passwort eingerichtet.
Macht Sinn. Geht natuerlich auch ohne, aber wir wollen ja kein C schreiben :)
Ich habe das ohne eine Node Klasse gebaut. getLeftChild und getRightChild liefern einen BinarySearchTree.
Da habe ich mir gedacht, dass eine Node Klasse alles nur unübersichtlicher und schwieriger machen würde.
Habe sie weggelassen. So war die Aufgabe total easy.
min()z.B. gibt, wenn leftChild leer ist, einfach den NodeValue zurück. Sonst ruft es min() von leftChild auf. Kein murks mit Nodes und so!!
Finde es so viel einfacher. Und ein Knoten ist doch auch ein Baum (halt ohne zweige).
Stimmt, daran hatte ich gar nicht gedacht… Wie repraesentierst Du einen leeren Baum?
linker Teilbaum null
rechter Teilbaum null
eigenes Element null