Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Stack, Queue und List ... (https://www.delphipraxis.net/156723-stack-queue-und-list.html)

Zuckerberg 12. Dez 2010 20:14

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 ??

Luckie 12. Dez 2010 20:22

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.

implementation 12. Dez 2010 20:24

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.

Zuckerberg 12. Dez 2010 20:24

AW: Stack, Queue und List ...
 
Zitat:

Zitat von Luckie (Beitrag 1068149)
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.

Hmmm stimmt da hast du Recht,
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 ...

implementation 12. Dez 2010 20:28

AW: Stack, Queue und List ...
 
Zitat:

Zitat von Luckie (Beitrag 1068149)
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.

Bagger:
(-) 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

Luckie 12. Dez 2010 20:30

AW: Stack, Queue und List ...
 
Da vergleichst du aber Äpfel mit Birnen. ;)

Namenloser 12. Dez 2010 20:34

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 umgekehrte polnische Notation benutzt (z.B.
Delphi-Quellcode:
3 8 + 2 *
=
Delphi-Quellcode:
(3+8)*2
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.
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...

implementation 12. Dez 2010 20:42

AW: Stack, Queue und List ...
 
Zitat:

Zitat von Luckie (Beitrag 1068155)
Da vergleichst du aber Äpfel mit Birnen. ;)

Ich würde es so ausdrücken:

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.

Luckie 12. Dez 2010 20:43

AW: Stack, Queue und List ...
 
Zitat:

Zitat von NamenLozer (Beitrag 1068156)
Bessere Beispiele fallen mir jetzt nicht ein...

Für einen Stack? Na da sollte einem Programmierer doch als erstes der Callstack einfallen. ;)

Namenloser 12. Dez 2010 20:56

AW: Stack, Queue und List ...
 
Zitat:

Zitat von Luckie (Beitrag 1068159)
Zitat:

Zitat von NamenLozer (Beitrag 1068156)
Bessere Beispiele fallen mir jetzt nicht ein...

Für einen Stack? Na da sollte einem Programmierer doch als erstes der Callstack einfallen. ;)

Hab ja geschrieben Rekursion... ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz