CODE-DETEKTIV

Drei Wege zum Produkt?

04 / 17

Deine Mission

Füttere drei Funktionen mit demselben Array. Finde erst den Unterschied, dann ihre Laufzeiten.

Erster Zug: Wähle unten den Testfall mit einer Null. Was erwartest du?

fun1: wenn a[i] != 0 → prod *= a[i]
fun2: wenn a[i] == 0 → return 0
      sonst          → prod *= a[i]
fun3: wenn a[i] gerade → addiere prod genau a[i]-mal
      sonst            → prod *= a[i]

Spuren sichern

Klicke einen Beweis-Testfall. Danach tippe auf jede Funktion, um ihren Rückgabewert aufzudecken.

Bei fun1 wird eine Null übersprungen. Bei fun2 beendet sie die Funktion sofort. Frage bei fun3: Wie oft läuft j < a[i]?
res += prod, genau a[i]-mal, bedeutet für positive gerade Werte: prod · a[i]. Bei einer negativen geraden Zahl läuft die Schleife jedoch nullmal.

Laufzeit-Tresor

Ordne Best und Worst zu. Der typische Fehlweg „alle haben nur eine äußere Schleife, also Θ(n)“ wird hier geprüft.

Wähle die vollständige korrekte Zuordnung.

Prüfungssatz bauen

Vervollständige die gemeinsame Vorbedingung. Erst ein Versuch entsperrt den Musterweg.

Wie sitzt es?

Noch nicht markiert.