16.01.2014 Aufrufe

Klausurhinweise Fortgeschrittene Programmiertechnik Angewandte ...

Klausurhinweise Fortgeschrittene Programmiertechnik Angewandte ...

Klausurhinweise Fortgeschrittene Programmiertechnik Angewandte ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

• Iteratorkonzept. For-each-Schleife. Iterator- und Iterable-Interface (Man muss das Interface nicht<br />

auswendig können. Wenn es jedoch als API-Beschreibung gegeben ist, dann sollte es eingesetzt<br />

werden können.). Verstehen wie Iteratoren bei linear verketteten Listen bzw. Feldern als innere<br />

Klassen implementiert werden können.<br />

• Collection, List, Queue, Deque, ArrayList, LinkedList und ArrayDeque. API muss<br />

selbstverständlich nicht auswendig gewusst werden. Man sollte jedoch in der Lage sein, bei<br />

Vorgabe eines Teils der API die Collection-Klassen anwenden zu können.<br />

7 Rekursion<br />

• Rekursionstiefe, Zusammenhang zwischen Rekursionstiefe und System-Stack.<br />

• Rekursion über Felder und linear verkettete Listen.<br />

• Teile-und-Hersche-Verfahren.<br />

• Eliminierung der Endrekursion.<br />

• Besprochene Beispiele von rekursiven Funktionen verstanden haben.<br />

8 Komplexitätsanalyse<br />

• Definition Laufzeit eines Algorithmus.<br />

• Größenordnung mit O-Notation. Verschiedene Größenordnungen verstehen und vergleichen<br />

können.<br />

• Laufzeitanalyse bei einfachen Schleifenbeispielen.<br />

• Worst-Case-Analyse bei Fallunterscheidungen und while-Schleifen.<br />

Einfache Beispiele analysieren können.<br />

• Aufrufstruktur-Methode bei rekursiven Funktionen.<br />

• Laufzeiten für verschiedene Typen von Teile-und-Herrsche-Funktion (4 Typen) wissen und<br />

anwenden können.<br />

9 Sortierverfahren<br />

• Sortieren durch Einfügen, Auswählen, Vertauschen, QuickSort (mit und ohne Drei-Median-<br />

Strategie), MergeSort und HeapSort (inklusive Heap-Begriff) verstanden haben und auf<br />

Zahlenbeispiele anwenden können.<br />

• Worst-Case-Problematik bei QuickSort verstanden haben.<br />

• Stabilität von Sortierverfahren.<br />

10 Bäume<br />

• Definition von Bäumen. Begriffe: Wurzel, Kindknoten, Elternknoten, Tiefe eines Knotens, Höhe<br />

eines Baums, Ebene eine Baums.<br />

• Spezialfälle: Binärbäume und vollständige Binärbäume.<br />

• Implementierung von Bäumen: verkettete Strukturen bei Binärbäumen, Liste mit<br />

Geschwisterknoten bei allgemeinen Bäumen, Felder bei Binärbäumen. Java-Funktionen verstehen<br />

bzw. Teile selbst schreiben können.<br />

• Durchlaufen von Bäumen: pre-order, post-order, in-order, level-order.<br />

3/4

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!