Datenstrukturen Stack und Queue
Zwei wichtige Datenstrukturen zur Lösung alltäglicher Probleme sind der Stack (Stapelspeicher) und Queue (Warteschlange). In beiden Datenstrukturen können mehrere Werte zwischengespeichert werden. Die beiden Speicherformen sollen hier kurz erläutert werden.
In einem Stack werden die gespeicherten Werte gestapelt. Wie in einem Stapel
in der realen Welt, wird der letzte gespeicherte Wert zuoberst auf den Stapel
gelegt. Ebenso wie in einem realen Stapel, können die gespeicherten Werte nur in
umgekehrter Reihenfolge zu ihrer Speicherung wieder abgerufen werden (last in -
first out; LIFO).
Ein Stack kann dazu verwendet werden, um die Verarbeitungsreihenfolge von
Rechenoperationen in einem Programm abzubilden.
In einer Queue werden die gespeicherten Werte in einer Warteschlange
eingereiht. Wie in einer Warteschlange in der realen Welt, wird jeder neu
gespeicherte Wert hinten eingereiht. Beim Abrufen der gespeicherten Werte wird
der zuerst gespeicherte Wert zuerst verarbeitet (first in - first out; FIFO).
Eine Queue kann dazu verwendet werden, eine Warteschlange abzubilden wie sie in
Netzwerken für die Übermittlung von Datenpaketen gebraucht wird.
Für die Übungen finden Sie hier eine Klasse Node und eine Klasse Linked List zum Download.