Klausuren Wissensfragen

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Klausuren Wissensfragen
Hier mal ein Thread in dem man sich über Wissensfragen austauschen kann.

Mein erste Frage, da ich mir nicht ganz sicher war:

Da die Klasse AssertionError eine Unterklasse von java.lang.Error ist,
können Ausnahmen dieser Art nicht abgefangen und daher nicht behandelt werden.

richtig falsch X

Ich bin mir nicht zu 100% ob/wie uns das gesagt wurde, war bisher aber dem Glauben unterlegen, dass man die nicht abfangen kann.


Alles was Throwable ist kann gefangen werden. Da Errors wie Exceptions Throwables sind, kann man sie fangen. Ob das Sinn macht steht auf einem anderem Blatt


ich glaub man sollte da die folien ändern. Ich hab die gerade durchgearbeitet und hätte schwören können, dass da steht, dass man sie nich abfangen kann. Hab nachgeschaut, aber nein es kommt nur irgendwie so rüber als könnte man sie ned abfangen, aber stehn tuts da nicht und ist wohl auch nich so gemeint.


In den Folien steht wörtlich: in einer Blase, die auf die java.lang.Error deutet “Können unter Umständen nicht abgefangen werden.”


Es geht darum, ob man ein catch-statement schreiben kann und das geht. Aber wenn man keinen Speicher mehr hat, dann ist halt einfach Sense, aber AssertionErrors kann man ohne weiteres fangen und behandeln


»Unter Umständen« heißt für mich: Sie können, aber es kann Fälle geben, in denen es nicht funktioniert. Wenn dein Speicher überläuft, bin ich mir nicht sicher, ob der Fehler gefangen werden kann(beispielsweise). Aber grundsätzliche können sie abgefangen werden.

Ich stimme aber zu, dass es in der Vorlesung eher schlecht erklärt wurde. Vor allem, weil überwiegend Wert darauf gelegt wurde, dass man Fehler gar nicht abfangen will oder ggf. eben tatsächlich nicht abfangen kann(weil alles kaputt ist) und da zwischendrin, ging das (nicht so klar ausgedrückte) »Error erbt von Throwable, also ist es abfangbar« etwas unter.


kann ich so ganz und gar zustimmen.


Zwar keine wirkliche Wissensfrage aber wie stellt man finale Klassen oder Attribute in UML dar?

Einfach final davor?

Man soll in einer Klausur ein Attribut in UML darstellen mit

static final long serialVersionUID = 123L;

serialVersionUID = 123L : long

So dann? Und wohin mit final


Ah hab was gefunden. Laut der Klausur vom 06.08.2009

+ SCHWARZ: final int = 1

Für meinen Fall also

serialVersionUID : final long = 123L


Nochmal eine Frage zu binären Suchbäumen:

Es ist immer so, dass die linken Kinder laut Definition kleiner sein müssen, als der Vater, richtig?

Also es gibt keinen binären Suchbaum, bei dem die rechten Kinder kleiner sind. (Außer vllt wenn es explizit in der Aufgabe verlangt ist)


Solang nichts anderes gegeben ist geh davon aus, ja. In der Praxis ist dir das pupsegal solang es wohldefiniert ist :wink:


Ja aber in den Klausuren kommen gerne mal Fragen wie: Geben Sie die Definition des Binären Suchbaums an.

Deswegen wollte ich nochmal auf Nummer sicher gehen.


Neue Frage:

Um mittels binärer Suche auf einem Feld mit n Elementen einen maximalen Aufwand von O(log n) zu erhalten, muss das Feld die Haldeneigenschaft erfüllen? (wahr/falsch)

Bin für falsch.

Binäre Suche ist mir klar, mit Feld ist wohl ein Array gemeint, aber warum sollte das die Haldeneigenschaft erfüllen???


[quote=TiH5_h0]
Neue Frage:

Um mittels binärer Suche auf einem Feld mit n Elementen einen maximalen Aufwand von O(log n) zu erhalten, muss das Feld die Haldeneigenschaft erfüllen? (wahr/falsch)

Bin für falsch.

Binäre Suche ist mir klar, mit Feld ist wohl ein Array gemeint, aber warum sollte das die Haldeneigenschaft erfüllen???
[/quote]Man braucht einen Suchbaum bzw. ein sortiertes Array. Haldeneigenschaft hat da nichts zu suchen.


Gut, danke. Das waren auch meine Ansätze.


Zwar bisher noch nicht bei Wissensfragen aufgetaucht aber mE ein Fehler in den Folien

Folie 07 - 58 („super-Referenz“)

Hab jetzt schon des öfteren gelesen/gehört und auch selbst ausprobiert, dass dies nicht der Fall ist.
Aber einfach zum Spaß wird das in ja nicht in den Folien stehen?


Noch ein Wissensfrage:

Haldensortierung hat einen niedrigeren Speicherplatzbedarf als das Sortieren durch Mischen. Richtig oder Falsch?

Das kommt doch ganz auf die Implementierung an, oder? Ich kann MergeSort auch so mit Listen implementieren, das es inplace funktioniert (dachte ich zumindest). Wenn ich es allerdings mit einem Array mache, braucht es mehr Speicher als die Haldensortierung.


Beides ist inplace, auch Mergesort ist mit Arrays inplace implementierbar, haben also den gleichen Speicherplatzbedarf


ok, danke - da bin ich nämlich schon 2x drüber gestolpert :slight_smile: