![]() |
Stack, Queue und List ...
Guten Abend Community,
Ich schreibe am Dienstag eine Informatik Klausur mit dem Themen: - Stack - Queue - List - Hat-Beziehung - Kennt-Beziehung - Ist-Beziehung - UML Editor Meine Frage wäre ganz kurz: Was sind die Vor- und Nachteile von Stack, Queue und List ?? |
AW: Stack, Queue und List ...
Es gibt keine, weil man sie für unterschiedliche Zwecke nutz. Genaus könntest du fragen, was die Vor- und Nachteile von einem Bagger und einem Reisebus sind.
|
AW: Stack, Queue und List ...
List eignet sich, wenn du einfach irgendwo Dinge auflistest, wo du häufiger Elemente anfügst und mittenrein über den Index ansprichst.
Queues sind FIFO-Puffer. Die kannst du brauchen, wenn du irgendwo eine Warteschleife hast: - Element hinten anfügen per Enqueue - vorne abrufen per Dequeue Stacks sind LIFO-Puffer. Die werden bei Verschachtelung benutzt. Das was du als letztes gepusht hast, popst du als erstes wieder raus. |
AW: Stack, Queue und List ...
Zitat:
dann anders gefragt wo nutzt man die oben genannten ?? Stack : Stapel , Bücherhaufen ... Queue : Supermarktschlange ... List : alles mögliche oder ? mehr fällt mir irgendwie nicht ein ... |
AW: Stack, Queue und List ...
Zitat:
(-) schwer, langsam, Kraftstofffresser (-) wenige Sitze, unruhige Fahrt (+) leistungsfähig, hat eine praktische Baggerschaufel (+) im Idealfall noch Ketten => Das ideale Gerät zum Baggern!:-D Reisebus: (-) keine Baggerschaufel, keine Ketten (+) viele, bequeme Sitze, ruhige Fahrt (+) eingebaute Toiletten => Das ideale Gerät zum Reisen!:-D |
AW: Stack, Queue und List ...
Da vergleichst du aber Äpfel mit Birnen. ;)
|
AW: Stack, Queue und List ...
Einen Queue kann man z.B. verwenden, wenn man eine Reihe von Jobs hat, die hintereinander abgearbeitet werden sollen.
Einen Stack kann man bei rekursiven Algorithmen gebrauchen, also etwa bei Parsern oder dem Abarbeiten einer Baumstruktur o.ä.. Man kann einen Stack auch zum Rechnen verwenden, wenn man z.B. die ![]()
Delphi-Quellcode:
=
3 8 + 2 *
Delphi-Quellcode:
in Infix-Schriebweise). Dabei wird der Term von links nach rechts abgearbeitet -- Trifft der Parser auf eine Zahl, wird sie auf den Stack gepusht, trifft er auf einen Operator, popt er die beiden obersten Werte vom Stack, verrechnet sie, und pusht das Ergebnis wieder auf den Stack.
(3+8)*2
Und eine Liste ist eben für alles mögliche, wo man eine Liste von Dingen speichern/verwalten muss... Bessere Beispiele fallen mir jetzt nicht ein... |
AW: Stack, Queue und List ...
Zitat:
Man kann schon Vor- und Nachteile nennen. Und da man für verschiedene Anwendungen die Vor- und Nachteile verschieden gewichtet, werden auch bei unterschiedlichen Anwendungen unterschiedliche Werkzeuge ausgewählt. So lässt sich der indizierten List der Vorteil zuschreiben, schnell über Indizes auf Elemente zugreifen zu können. Dem Stack ließe sich der Vorteil zuschreiben, sehr einfach mit dem obersten Element operieren zu können, und der Queue, sehr einfach Elemente hinten anfügen und vorne wieder wegnehmen zu können. Was man nun auswählt, hängt davon ab, was man damit anstellen möchte => Welcher Vorteil in dem Fall dann am wichtigsten ist. |
AW: Stack, Queue und List ...
Zitat:
|
AW: Stack, Queue und List ...
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz