Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vorschau

Schritte zählen

Das ist die erste Seite der Lektion. Lies sie und probier die Aufgaben aus. Der Rest steht im ganzen Kurs.

35 Minuten

Warum wird die App so langsam?

Deine Klassenfahrt-Gruppe hat 20 Leute. Die Anmeldeliste ist schnell durchsucht. Jetzt nutzt die ganze Schule die App, mit 1000 Namen. Plötzlich dauert alles länger.

Wie viel länger? Das kannst du vorher ausrechnen, wenn du die Schritte zählst, die ein Verfahren macht.

Das kannst du nach dieser Lektion

Notiz

Ich kann sagen, wie sich die Zahl der Schritte ändert, wenn eine Liste größer wird.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
SchrittEin Vergleich oder eine andere kleine Handlung des Verfahrens.
AufwandWie viele Schritte ein Verfahren braucht.
HalbierenDie Menge in jedem Schritt auf die Hälfte verkleinern.1000, 500, 250
WachsenGrößer werden, zum Beispiel die Liste.
Schlimmster FallDie Lage, in der das Verfahren am meisten Schritte braucht.

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Einstieg: Was du schon weißt

Probier es aus

Einstieg: Was du schon weißt

4 Fragen
Probieren Sie es aus: Ihre Antworten werden hier bewertet und danach vergessen. Melden Sie sich an, wenn Ihre Punktzahl gespeichert werden soll und Sie später dort weitermachen möchten, wo Sie aufgehört haben.Anmelden, um die Punktzahl zu behalten

Deine Antworten werden hier bewertet und nicht gespeichert. Mit einem Konto bleiben deine Ergebnisse erhalten.

Man zählt Schritte, keine Sekunden

Wie lange ein Programm in Sekunden braucht, hängt vom Gerät ab. Dein Handy ist schneller als ein altes Notebook.

Darum zählt man lieber Schritte, zum Beispiel Vergleiche. Die Zahl der Schritte ist auf jedem Gerät gleich. Und sie zeigt, wie der Aufwand wächst, wenn die Liste größer wird.

Probiere: Schritte der linearen Suche

Code: python
def zaehle_schritte_suche(liste, gesucht):
    schritte = 0
    for zahl in liste:
        schritte = schritte + 1
        if zahl == gesucht:
            return schritte
    return schritte


for groesse in [10, 100, 1000]:
    liste = []
    for zahl in range(groesse):
        liste.append(zahl)
    # Der gesuchte Wert fehlt, also muss alles angesehen werden.
    print(groesse, "Werte:", zaehle_schritte_suche(liste, -1), "Schritte")

# Ändere -1 zu 0. Wie viele Schritte braucht die Suche jetzt?

Lineare Suche: so viele Schritte wie Werte

Im schlimmsten Fall fehlt der gesuchte Wert. Dann sieht die lineare Suche jeden Wert an.

Bei 10 Werten sind das 10 Schritte, bei 100 Werten 100 Schritte. Wird die Liste zehnmal so groß, braucht die Suche zehnmal so viele Schritte.

Kurze Kontrolle

Probier es aus

Kurze Kontrolle

3 Fragen
Probieren Sie es aus: Ihre Antworten werden hier bewertet und danach vergessen. Melden Sie sich an, wenn Ihre Punktzahl gespeichert werden soll und Sie später dort weitermachen möchten, wo Sie aufgehört haben.Anmelden, um die Punktzahl zu behalten

Deine Antworten werden hier bewertet und nicht gespeichert. Mit einem Konto bleiben deine Ergebnisse erhalten.

Die Lektion geht weiter

9 weitere Teile dieser Lektion stehen im ganzen Kurs, mit den Aufgaben und der Abschlussprüfung. Mit einem Konto bekommst du alles.