MINT üben

Lineare Suche

Dreißig Übungen zur linearen Suche in Reihungen — von AFB I bis AFB III.

Ihr Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen in gemischter Reihenfolge — Sie klicken, ziehen, ordnen, rechnen und knobeln. Jede Übung gibt Ihnen sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fahren Sie über ein unterstrichenes Arbeitswort, sehen Sie, was es genau von Ihnen verlangt.

A1
Schlüsselkasten im Hotel
AFB I

Ein Hotel notiert die Zimmernummern, deren Schlüssel gerade fehlen, in int[] zimmer = {31, 17, 42, 17, 8};. Bestimmen Sie Schritt für Schritt, was lineareSuche(zimmer, 17) tut und liefert — nur die richtige Antwort bringt Sie weiter.

Spiele den Rechenweg Schritt für Schritt durch: Was passiert als Nächstes? Nur die richtige Karte bringt dich weiter.
    Die Suche liest ab Index 0 Element für Element und endet beim ersten Treffer: Rückgabe 1 nach 2 Vergleichen. Das zweite Vorkommen an Index 3 spielt keine Rolle.
    Beginnen Sie bei Index 0 und prüfen Sie ein Element nach dem anderen.
    Beim ersten Treffer endet die Methode mit return — spätere gleiche Werte werden nie angesehen.
    A2
    Busfahrten durchsuchen
    AFB II

    Eine Buslinie zählt die Fahrgäste ihrer sechs Tagesfahrten in int[] bus = {4, 9, 4, 7, 2, 9};. Ordnen Sie jeden Aufruf danach ein, wie viele Vergleiche a[i] == x die lineare Suche braucht.

    Ordne jede Karte einem der drei Bereiche zu. Mit der Tastatur: Enter zum Auswählen, dann 1–3 für den Bereich, 0 zurück.
    1 genau 1 Vergleich
    2 2 bis 5 Vergleiche
    3 alle 6 Vergleiche
    Ein Treffer an Index i kostet i + 1 Vergleiche. Fehlt der Suchwert, werden alle 6 Elemente verglichen — auch bei bus.length, denn die Länge 6 steht nicht in der Reihung.
    Bestimmen Sie bei jedem Aufruf zuerst den Suchwert: Bei bus[0] oder bus.length ist er ein Wert aus der Reihung bzw. die Länge.
    Suchen Sie den Wert von links her: Der Treffer an Index i kostet i + 1 Vergleiche, ein fehlender Wert alle 6.
    A3
    Pegelstände nachschlagen
    AFB II

    Ein Wasserwirtschaftsamt speichert Pegelstände in cm: int[] pegel = {212, 198, 240, 198, 305, 187, 260};. Werten Sie lineareSuche(pegel, x) für jeden Suchwert x aus und tragen Sie Rückgabewert und Zahl der Vergleiche ein.

    Fülle alle Felder aus und prüfe dann. Dezimalzahlen mit Komma oder Punkt; Enter prüft ebenfalls.
    xRückgabeVergleiche
    240
    198
    187
    250
    260
    Bei 240 stoppt die Suche an Index 2 (3 Vergleiche), bei 198 schon an Index 1. 187 steht an Index 5, 260 am letzten Platz 6 — beide Suchen brauchen fast alle Vergleiche. Die fehlende 250 kostet ebenfalls alle 7 Vergleiche, liefert aber −1.
    Gehen Sie für jeden Suchwert die Reihung von Index 0 an durch und zählen Sie mit, bis der erste Treffer kommt.
    Rückgabe = Index des ersten Treffers (oder −1), Vergleiche = Index + 1. Fehlt der Wert, sind es alle 7 Vergleiche.