Definition „Data Structure“ Welche Datenstrukturen gibt es?

Von HJL 3 min Lesedauer

Anbieter zum Thema

Der Terminus „Datenstruktur“ bezeichnet in der Anwendungsentwicklung ein Format für die Organisation und Speicherung von Daten. Zu den elementaren Datenstrukturen zählen Arrays, Datensätze, Listen, Graphe und Bäume. Algorithmen regeln, was mit diesen Daten geschieht.

Datenstrukturen werden in der Regel auf die Verarbeitung durch Algorithmen hin optimiert.
Datenstrukturen werden in der Regel auf die Verarbeitung durch Algorithmen hin optimiert.
(Bild: Kittiphat - stock.adobe.com)

Zentrales Thema: Funktionale Effizienz

Um Programmieraufgaben zu lösen, genügt es nicht alleine, das Befehlsspektrum und die Datentypen der gewünschten Programmiersprache zu beherrschen. Qualitätsentscheidend ist das Gespür dafür, wie sich Tätigkeiten aus der Praxis am effektivsten in ein Computerprogramm umsetzen lassen.

Eine festgelegte Datenstruktur definiert die Art der Datenorganisation. Die gewählte Struktur bewirkt, dass Daten in einer bestimmten Weise angeordnet und miteinander verknüpft werden. Dies ermöglicht zum einen den direkten Zugriff, zum anderen die Datenverwaltung.

Durch optimierten Aufbau der Datenstruktur wird angestrebt, gewünschte Funktionen in möglichst effizienter Weise zu implementieren. Als Kriterien für die Optimierung gelten:

  • Geringer Speicherbedarf
  • Hohe Geschwindigkeit

Das Zusammenwirken von Datenstruktur und Algorithmus

Datenstrukturen werden in der Regel auf die Verarbeitung über Algorithmen hin optimiert. Ein Algorithmus gibt in Form einer schriftlich definierten Anweisung die Vorgehensweise zur Problemlösung vor. Als integraler Bestandteil jeder Softwarelösung werden Algorithmen eingesetzt, um …

  • Datenverarbeitung
  • Sortierung
  • Suchen
  • komplexe Berechnungen

… durchzuführen. Sie müssen in einer vorhersehbaren Zeitspanne abgeschlossen werden.

Anhand eines fest geschriebenen Lösungsplans werden – Schritt für Schritt – Eingabedaten in Ausgabedaten umgewandelt. Insbesondere Such- und Sortier-Algorithmen benötigen klar definierte Datenstrukturen wie Felder, Stapel, verkettete Listen oder Baum-Strukturen.

Die Wirkkraft eines Algorithmus ist von mehreren Faktoren abhängig. Wesentliche Einflussfaktoren sind Datenstruktur und -größe, aber auch Zeitfenster und Speicher-Komplexität sind relevante Einflussgrößen.

Typen von Datenstrukturen

Im Fokus der Datenstruktur-Betrachtung steht das Organisieren und Speichern von Daten. In Abhängigkeit vom Anwendungsfall nutzt die Anwendungsentwicklung verschiedene Typen von Datenstrukturen:

Lineare Datenstrukturen: Listen, Stacks und Queues

Die Organisation erfolgt in linearer Reihenfolge.

  • Dazu zählt die Liste, als Struktur zur Speicherung beliebig vieler Objekte. In einer verketteten Liste enthält jedes Listenelement einen Verweis auf das folgende Element.
  • In einem Stack (Stapelspeicher) können beliebige Mengen von Objekten gespeichert werden. Zu den im Stack verfügbaren Operationen zählen „Push“, „Pop“ und „Top“.
  • Die Queue, zu Deutsch: Warteschlange, nimmt eine beliebige Zahl von Objekten auf. Die Operation "Enqueue" dient der Speicherung eines Objekts in der Warteschlange. Dem Lesen und anschließenden Entfernen aus der Warteschlange dient die Operation „Dequeue“.

Hierarchische Datenstrukturen

  • Typisch ist die Baumstruktur zur Organisation der Datenelemente. Klassische Beispiele sind Binärbaum- und AVL-Baumstrukturen. Unterstützend und verbindend wirkt der „Heap“, im Deutschen als Halde oder Haufen zu bezeichnen. Mit seiner Hilfe lässt sich die Datenstruktur des Baums mit der Funktionalität der Warteschlange verbinden. Aufbauend auf dieser Funktonalität präsentiert sich der „Treap“, der Eigenschaften von Bäumen (Englisch: trees) und mehreren Heaps zusammenführt.
  • Hashtabellen, auch unter dem deutschen Begriff Streuwerttabellen bekannt, unterliegen einer speziellen Index-Struktur. Mit ihrer Hilfe kann die Speicherposition direkt berechnet werden. Hashtabellen können als Konkurrenz oder Alternative zu Baumstrukturen betrachtet werden.
  • Grafische Datenstrukturen wie Graphen und Netzwerke stellen Verbindungen zwischen Datenelementen mit Hilfe von Knoten und Kanten her. Ein Graph ist in der Graphen-Theorie eine abstrakte Struktur. Sie repräsentiert eine Menge von Objekten, zusammen mit den zwischen den einzelnen Objekten bestehenden Verbindungen. Die mathematischen Abstraktionen der Objekte werden dabei als Knoten – auch Ecken – des Graphen bezeichnet.

Datenstrukturen: Wie organisiert man die Daten im Speicher?

Für zahllose Anwendungen ist die Auswahl einer praxisgerechten Datenstruktur von elementarer Bedeutung. Die zentrale Frage stellt sich deshalb: Wie können Daten im Speicher so organisiert werden, dass sie optimiert verarbeitet werden können? Für die Anwendungsentwicklung gelten folgende „Faustregeln“:

  • Einfacher und kurzer Programmcode für die Verarbeitung
  • Wenige, wirkungsvolle Anweisungen – im Sinne einer möglichst geringen Prozessor-Belastung
  • Platzierung inhaltlich verwandter Elemente in nächster Nähe zueinander.

Anwendungsbereiche für Datenstrukturen und Algorithmen

Es gibt typische Anwendungsbereiche in der Informatik, die uns die wirkungsvolle Allianz von Datenstrukturen und Algorithmen bildlich vor Augen führen. Beispielhaft anzuführen ist die Branche der Computerspiele. Spielabläufe in Computerspielen zeigen exemplarisch auf, wie Datenstrukturen und Algorithmen eingesetzt werden, um KI (künstliche Intelligenz), Bewegungsabläufe und Entscheidungsauswahlprozesse zu implementieren.

Auch das Geschäftsfeld Business Intelligence & Data Analysis zeigt anschaulich, wie kluge Anwendungsentwicklung und Datenbereitstellung funktionieren. Datenstrukturen sorgen für effiziente Speicherung sowie hohe Abrufbereitschaft der Daten. Den eingebundenen Algorithmen obliegt es, Daten zu sammeln, zu analysieren und zu bereinigen.

Fazit

Zusammenfassend lässt sich fest stellen: Datenstrukturen in der Informatik sind Objekte, in denen Daten strukturiert werden. Die Definition legt fest, wie diese Daten angeordnet und gespeichert werden. Über spezielle Algorithmen wird bestimmt, was mit den Daten geschieht. Der Algorithmus enthält schriftlich definierte Anweisungen. Diese werden in einer verbindlichen Reihenfolge ausgeführt, um die definierte Aufgabe zu erfüllen

(ID:49430824)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung