Stack

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Der Stack (Stapel) wurde als abstrakter Datentyp charakterisiert. Hier werden nun verschiedene konkrete Datenstrukturen zur Implementation dieses ADT verwendet. Anschließend wird ein so implementierter Stack zur Umkehrung einer Liste natürlicher Zahlen verwendet und eine Effizienzbetrachtung angeschlossen.

Das in Python eingebaute Listen-`reverse` verwendet ein dynamisches Array. Es wird zu Beginn so groß dimensioniert, dass es für viele Anwendungsfälle ausreicht. Selbst wenn für `push` und `pop` jeweils ein konstanter Aufwand erforderlich ist, wird dieser durch die Schleife (Listenumkehr) "aufgefressen". Wie bei den anderen Implementierungen liegt der Aufwand zur Umkehrung einer Zahlenfolge in $\mathcal{O}(n)$, allerdings mit einem deutlich kleineren Faktor als bei den anderen konkreten Datentypen (Gerade mit geringerem Anstieg).

Myreverse plot.png

Persönliche Werkzeuge