Datenstrukturen: Stack / Stapelspeicher by ozelot47

View this thread on steempeak.com
· @ozelot47 · (edited)
$0.19
Datenstrukturen: Stack / Stapelspeicher
**Der Stapelspeicher**

Der Stack (deutsch: Stapelspeicher oder auch Kellerspeicher genannt) ist eine Datenstruktur, die einer einfach verketteten Liste ähnlich ist. Sie folgt nach dem LIFO-Prinzip (Last-In-First-Out). Das zuletzt eingefügte Objekt ist das Objekt was zuerst herausgenommen wird. Genauso wie eine Liste kann der Stack dynamisch erweitert werden.

Im Gegensatz zu einer Liste gibt es keine Möglichkeit ein Objekt irgendwo zwischen zwei weiteren Objekten einzufügen, oder zu entfernen.
Ein Stack beherscht nur die Funktionen: am Ende einfügen (push), vom Ende entfernen (pop) und letztes Objekt finden (peek). Gegebenenfalls kann man Stacks noch Kopieren.


![stack.jpg](https://cdn.steemitimages.com/DQmQa5EAk6RkFmGk2xbwcVYna51oQbzZ4Z8mpmJMf1D81Cu/stack.jpg)
**Abbildung: Ein Stack**

Ein Stack ist quasi eine einfach verkettete Liste mit Einschränkungen in der Funktionalität. Das hört sich erstmal nach einer überflüssigen Datenstruktur an, dennoch gibt es Anwendungsfälle wo Stacks häufig eingesetzt werden.

**Anwendungsbeispiel**

* Ein Stack kann eingesetzt werden, um eine Syntax auf Korrektheit zu überprüfen
Beispiel : 3 * ( 5 + 7 ) - 1 oder abstrakter: zahl operator klammer zahl operator zahl klammer operator zahl.
Hier könnte man ein Muster überprüfen, ob die Berechnung laut einer vorgegebenen Regel definiert ist. Wird ein Element gefunden was gegen die Regel verstößt, so gilt die Syntax als nicht gültig.
* Stacks verwalten Funktionsaufrufe bei Programmiersprachen
* Stacks werden für Unterbrechungsroutienen (Interrupts) benutzt

Quelle
cdn.programiz.com/sites/tutorial2program/files/stack.jpg
http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci235/lecture_notes/chapter_06.pdf
👍  , , , , , , , , , , , , ,
properties (23)
post_id85,589,079
authorozelot47
permlinkdatenstrukturen-stack-stapelspeicher
categorydeutsch
json_metadata{"tags":["de-stem","steemstem","stem","science","palnet"],"links":["http:\/\/www.compsci.hunter.cuny.edu\/~sweiss\/course_materials\/csci235\/lecture_notes\/chapter_06.pdf"],"app":"steemit\/0.2","format":"markdown","image":["https:\/\/cdn.steemitimages.com\/DQmQa5EAk6RkFmGk2xbwcVYna51oQbzZ4Z8mpmJMf1D81Cu\/stack.jpg"]}
created2020-04-08 10:19:00
last_update2020-04-08 10:20:39
depth0
children0
net_rshares1,059,317,672,333
last_payout2020-04-15 10:19:00
cashout_time1969-12-31 23:59:59
total_payout_value0.100 SBD
curator_payout_value0.089 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length1,723
author_reputation15,369,745,159,352
root_title"Datenstrukturen: Stack / Stapelspeicher"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (14)