Wintersemester 2025/26 | HTW Berlin
Prof. Dr. Alexandra Mikityuk
Definieren Sie eine Struktur Student mit folgenden Feldern:
Schreiben Sie dann eine Funktion void printStudent(struct Student s), die einen Studenten formatiert ausgibt.
Schreiben Sie eine Funktion void verbessereNote(struct Student* s, double bonus), die die Note eines Studenten um einen Bonus verbessert (aber maximal auf 1.0).
Zeigen Sie auch ein Beispiel fuer den Aufruf dieser Funktion.
Implementieren Sie die Funktion int fakultaet(int n) rekursiv.
Hinweis: n! = n * (n-1)! und 0! = 1
Implementieren Sie die Fibonacci-Folge rekursiv: fib(n) = fib(n-1) + fib(n-2)
Mit fib(0) = 0 und fib(1) = 1
Schreiben Sie eine rekursive Funktion int summeArray(int arr[], int n), die die Summe aller Elemente berechnet.
Beispiel: summeArray({1,2,3,4,5}, 5) = 15
a) Was bedeutet "stabil" bei einem Sortieralgorithmus? Geben Sie ein Beispiel. (4 Punkte)
b) Was bedeutet "in-place"? (3 Punkte)
c) Welcher der drei Algorithmen (Selection Sort, Insertion Sort, Bubble Sort) ist stabil? (3 Punkte)
Implementieren Sie Insertion Sort fuer ein Integer-Array.
Implementieren Sie Bubble Sort mit dem "swapped"-Flag zur Optimierung.
Erklaeren Sie kurz, warum diese Optimierung wichtig ist.
Implementieren Sie die binaere Suche iterativ: int binaereSuche(int arr[], int n, int gesucht)
Voraussetzung: Das Array ist bereits sortiert!
mitte = links + (rechts - links) / 2 um Overflow zu vermeiden!
Bestimmen Sie die Zeitkomplexitaet (Big-O) folgender Code-Ausschnitte:
a) (4 Punkte)
Antwort: O(____)
Erklaerung:
b) (4 Punkte)
Antwort: O(____)
Erklaerung: