Aufgabenblock — AFB II
Zehn Aufgaben aus allen Unterkapiteln mit Schwerpunkt Effizienz: Programme analysieren, Suchen und Sortieren verfolgen, Operationen zählen, Laufzeiten hochrechnen und Speicher berechnen — mit gestuften Tipps, wenn du nicht weiterkommst.
Für eine quadratische Tabelle int[][] m = {{3, 1, 4}, {1, 5, 9}, {2, 6, 5}}; läuft:
int s = 0, t = 0;
for (int i = 0; i < m.length; i++) {
s = s + m[i][i];
t = t + m[i][m.length - 1 - i];
}Analysieren Sie das Programm: Welche Werte haben s und t am Ende?
m[i][i] liegt auf der Hauptdiagonale, m[i][2 − i] auf der Gegendiagonale.Vollständige Lösung
In der sortierten Reihung
wird binär nach 36 gesucht. Untersuchen Sie den Ablauf: Wie viele Vergleiche finden statt, und welche Werte haben links und rechts am Ende?
Vollständige Lösung
links > rechts: Rückgabe −1 nach 4 Vergleichen. Die Grenzen zeigen auf die Nachbarn 35 (Index 7) und 40 (Index 8), zwischen denen 36 stehen müsste.Vergleichen Sie Selectionsort und Bubblesort mit Abbruch auf einer bereits sortierten Reihung mit 12 Elementen: Wie viele Vergleiche braucht jedes Verfahren?
