MINT lernen

Datenstruktur wählen

Reihung, Stapel oder Schlange? Wer die richtige Struktur wählt, spart sich die Hälfte des Programms.

1

Drei Strukturen, drei Zugriffsarten

Alle drei Strukturen speichern beliebig viele Elemente in einer Reihe. Sie unterscheiden sich darin, wo man hineinlegen und wo man herausnehmen darf.

DynArrayStapelSchlange
Zugriffjedes Element über den Indexnur obennur vorn
Einfügenan jeder Stelleoben (push)hinten (enqueue)
Entnehmenan jeder Stelleoben (pop)vorn (dequeue)
ReihenfolgefreiLIFOFIFO
  • Weniger ist mehr:Stapel und Schlange können weniger als die Reihung — dafür sind Programme mit ihnen kürzer und Fehler seltener.
  • Nachbauen:Jeden Stapel und jede Schlange könnte man mit einem DynArray nachbilden, müsste aber selbst auf die Regeln achten.
2

Die passende Struktur wählen

Entscheidend ist, in welcher Reihenfolge die Daten wieder gebraucht werden.

  • Frage 1:Muss ich gezielt auf ein Element mitten in der Reihe zugreifen oder dort einfügen? → DynArray.
  • Frage 2:Wird immer das zuletzt Hinzugefügte zuerst gebraucht? → Stapel.
  • Frage 3:Wird in der Reihenfolge des Eintreffens abgearbeitet? → Schlange.

Ordne jede Situation der passenden Datenstruktur zu: Karte anklicken und dann einen Korb wählen — oder ziehen. Mit der Tastatur: Karte ansteuern und 1, 2 oder 3 drücken.

Welche Struktur passt?

Halte fest: Man wählt die Struktur nach der Reihenfolge, in der die Daten wieder gebraucht werden — nicht nach der Art der Daten.

Merke

Wahl nach dem Zugriff: beliebig → DynArray · Neuestes zuerst → Stapel · Ältestes zuerst → Schlange

3

Allgemeine Hinweise

Nicht nach dem Inhalt wählen

Ob Namen, Zahlen oder Aufträge gespeichert werden, ist egal. Es zählt nur, welches Element als Nächstes gebraucht wird.

Begründen gehört dazu

In Klausuren genügt „Schlange“ nicht. Erwartet wird die Begründung über das Prinzip: Aufträge werden in der Reihenfolge ihres Eintreffens bearbeitet (FIFO).

Die Probe mit drei Elementen

Drei Elemente A, B, C hineinlegen und überlegen, welches zuerst wieder gebraucht wird: C → Stapel, A → Schlange, beliebig → DynArray.

Videos