Weitere wichtige Datenstrukturen
Stapelspeicher (Stack)
Der Stapelspeicher, auch als Stack bekannt, ist eine dynamische Datenstruktur, die nach dem Last-in-First-Out-Prinzip (LIFO) funktioniert.
Definition: Ein Stack ist eine Datenstruktur, bei der Elemente nur oben auf den Stapel gelegt und von dort wieder abgerufen werden können.
Eigenschaften des Stacks:
- Beliebige Anzahl von Einträgen (dynamisch)
- Elemente werden übereinander gestapelt
- Folgt dem LIFO-Prinzip
Example: Ein Stack anwendungsbeispiele ist die Rückgängig-Funktion in einem Textverarbeitungsprogramm, wo das zuletzt geschriebene Zeichen als erstes gelöscht wird.
Warteschlange (Queue)
Die Warteschlange Datenstruktur, auch als Queue bekannt, ist eine dynamische Datenstruktur, die nach dem First-in-First-Out-Prinzip (FIFO) arbeitet.
Definition: Eine Queue ist eine Datenstruktur, bei der Elemente am Ende angefügt und in der Reihenfolge ihres Einfügens wieder entnommen werden.
Eigenschaften der Queue:
- Beliebige Anzahl von Einträgen (dynamisch)
- Elemente werden hintereinander eingefügt
- Folgt dem FIFO-Prinzip
Example: Ein Beispiel für eine Warteschlange Informatik ist das Nummernsystem in einer Arztpraxis, wo Patienten in der Reihenfolge ihrer Ankunft aufgerufen werden.
Baum
Die Baumdatenstruktur ist eine dynamische Struktur zur Abbildung hierarchischer Beziehungen zwischen Datenelementen.
Definition: Ein Baum ist eine Datenstruktur, bei der Elemente in hierarchischer Abhängigkeit zueinander stehen, mit einem Wurzelknoten an der Spitze.
Eigenschaften des Baums:
- Dynamische Struktur mit beliebiger Anzahl von Einträgen
- Elemente sind in Knoten organisiert, die hierarchisch angeordnet sind
- Jeder Knoten außer der Wurzel hat einen Elternknoten
Example: Ein anschauliches Beispiel für eine Baumstruktur ist ein Unternehmensorganigramm, das die hierarchische Struktur der Abteilungen und Positionen darstellt.
Diese detaillierte Übersicht über Datenstrukturen Informatik bietet einen umfassenden Einblick in die verschiedenen Arten und ihre spezifischen Eigenschaften, was für das Verständnis und die effiziente Anwendung in der Programmierung unerlässlich ist.