Übungen zu Informatik-Grundlagen WS 2016/2017 Blatt 4 Vorbemerkung: mit „asymptotischem Aufwand“ ist immer der asymptotische Aufwand im schlechtesten Fall gemeint. Aufgabe 1: Welche der folgenden vier Aussagen sind korrekt? Begründen Sie Ihre Antworten. 3n 2 7n 12 O(n 2 ) n 2 O(n 3 ) n 3 1 O(n) n 3 n 5 n ld(n) O(n log(n )) Aufgabe 2: Es soll geprüft werden, ob die drei positiven Integer-Werte a, b und c die Seitenlängen eines rechtwinkligen Dreiecks darstellen können. Formulieren Sie einen entsprechenden Pseudocode und geben Sie den asymptotischen Aufwand Ihres Algorithmus an. Hinweis: Beachten Sie, dass im Unterschied zur Formulierung der ähnlichen Aufgabe auf Blatt 3 nicht bekannt ist, ob a b c gilt. Aufgabe 3: Gegeben sei ein Integer-Feld a[n]. Es soll ein Algorithmus entworfen werden, der die Reihenfolge der Zahlen umkehrt, d.h. der in a[n-1] gespeicherte Wert soll in a[0] gespeichert werden, der in a[n-2] gespeicherte in a[1] usw. . Entwerfen Sie einen solchen Algorithmus in Pseudocode und ermitteln Sie seinen asymptotischen Aufwand. Aufgabe 4: In einem Integer-Feld a[n] befinden sich (unsortiert) alle natürlichen Zahlen von 1 bis (n + 1), mit Ausnahme von einer. Es soll ein Algorithmus entworfen werden, der die Zahl herausfindet, die fehlt. Entwerfen Sie einen solchen Algorithmus in Pseudocode und ermitteln Sie seinen asymptotischen Aufwand. Aufgabe 5: Gegeben sei ein Integer-Feld a[n] von n ganzen Zahlen. Gesucht ist die größte Summe, die man mit einer beliebigen Anzahl von aufeinanderfolgenden Elementen bilden kann. Besteht das Feld nur aus negativen Zahlen, so soll als Summe der Wert 0 ausgegeben werden. Formulieren Sie einen entsprechenden Pseudocode und ermitteln Sie den asymptotischen Aufwand Ihres Algorithmus. Beispiel: Für das Feld [1, -3, 5, -4] ist dieser Maximalwert 5, da die möglichen Summen wie folgt lauten: 1, 1+(-3) = - 2, 1+(-3)+5 = 3, 1+(-3)+5+(-4) = - 1, - 3, -3+5 = 2, -3+5+(-4) = - 2, 5, 5+(-4) = 1, - 4.