Hallo und
Stack und Queue sind Afaik nur Spezialfälle von linearen Listen. Der Unterschied liegt in der Reihenfolge, in der Elemente eingefügt und wieder gelöscht werden. Ein Stack ist "First in, Last out", d.h. was zuerst reinkommt, kommt zuletzt wieder raus. Eine (Fifo-)Queue ist "First in - First out", d.h. was zuerst reinkommt, geht auch zuerst wieder raus.
Vorteile von Linearen Listen:
1. sehr schnelles Einfügen und
2. Entfernen von Objekten möglich (konstante Anzahl von Schritten)
3. einfach zu implementieren
Nachteile:
4. Suchen von Elementen sehr zeitaufwendig
5. Es sei denn, man sortiert die Liste, aber dann geht Vorteil 1. verloren (lineare Anzahl von Schritten)
Vorteile von Bäumen:
6. schnelles suchen und finden von Objekten möglich
7. Einfügen und Entfernen von Objekten trotz 6. recht schnell möglich (logharithmische Anzahl von Schritten)
Nachteile von Bäumen:
8. etwas komplizierter zu implementieren
Generell muss man sagen, dass für verschiedene Probleme verschiedene Datenstrukturen eingesetzt werden sollten. Es kommt immer darauf an, was man machen möchte.
Mal braucht man einen Stack, mal eine Queue, mal eine einfache Liste, mal einen Baum.
Pauschal kann man nicht sagen, welche Struktur die beste ist...
We are, we were and will not be.