OOPM1718 Übungswoche 02 (13.11-19.11.17)

Zielsetzung für die Übung

  • Besprechung Assignment01:
    • Hinweise
    • Aufgaben
  • Weitere Sortieralgorithmen
    • Insertionsort
    • Selectionsort
  • Rekursion
Bsp:
42    33     14      50     7

Insertionsort:
Ausgangslage:
42    ||     33      14    50     7
Zwischenschritte:
33    42     ||      14    50     7
14    33     42      ||    50     7
14    33     42      50    ||     7
7     14     33      42    50     ||

Selectionsort:
Ausgangslage:
||    42     33      14    50     7
Zwischenschritte:
7    ||     33      14    50     42
7    14     ||      33    50     42
7    14     33      ||    50     42
7    14     33      42    ||     50
Einfache Beispiele um das Prinzip der Rekursion besser zu verstehen:
Implementation folgender rekursiver Definition:

f(0) = 5                     Basisfall
Für negative x verwende f(0) Basisfall
f(x) = f(x-1) + x            Rekursiver Fall

public static int f(int x) {
    if(x<=0)return 5;        Basisfall
    return f(x-1)+x;         Rekursiver Fall
}

Beispiel zur Demonstration des rekursiven Ab- und Aufstiegs:

public static void zaehlen(int n) {
    if(n<0) return;
    System.out.println(n);
    zaehlen(n-1);
    System.out.println(n);
}

Mergesort Algorithmus wurde Schritt für Schritt 
mit dem Beispiel aus den Vorlesungsfolien durchgearbeitet.

Zielsetzung für das Programmierpraktikum

  • Bestandteile einer rekursiven Methode
    • Basisfall
    • Rekursiver Fall
  • Rekursionsformen
    • Primitive Rekursion
    • Allgemeine Rekursion
    • Endrekursion
    • Lineare Rekursion
    • Binäre Rekursion
    • Indirekte Rekursion
  • In der Vorlesung behandelte Algorithmen
    • Fakultät
    • Fibonacci-Folge
    • Türme von Hanoi
    • Gerade/Ungerade (even/odd)
    • Mergesort