Was ist eine Datenstruktur?
Eine Datenstruktur ist ein Konzept aus der Informatik, das sich auf eine bestimmte Methode zum Sammeln und Organisieren von Informationen bezieht. Alle Datenstrukturen verwenden Informationen darüber, wo sich ein bestimmtes Datenelement im Speicher eines Computers befindet, um auf diese Daten zuzugreifen und sie mit anderen Datenelementen zu verbinden. Datenstrukturen stellen eine von vielen verschiedenen Arten von Beziehungen zwischen einzelnen Informationen her. Verschiedene Arten von Datenstrukturen sind für verschiedene Zwecke effizienter, und die Schwierigkeit der Codierung variiert stark zwischen den Arten von Datenstrukturen.
Arrays gehören zu den einfachsten Datenstrukturen, sind jedoch sehr leistungsfähige Werkzeuge zur Organisation von Informationen. In einem Array werden den Elementen sequentielle Speicheradressen zugewiesen, wodurch die Speicheradresse eines beliebigen Elements im Array mit einfachen mathematischen Berechnungen sehr schnell bestimmt werden kann. Dies ist ein entscheidender Vorteil. Arrays können als in einer beliebigen Anzahl von Dimensionen existierend aufgefasst werden. Ein eindimensionales Array kann als Liste, ein zweidimensionales Array als Tabelle und ein dreidimensionales Array als Würfel einzelner Zellen konzipiert werden. Es können auch Arrays mit mehr als drei Dimensionen existieren.
Verknüpfte Listen sind eine weitere einfache, aber sehr wichtige Art der Datenstruktur. In einer verknüpften Liste besteht jeder Knoten aus einer Variablen, die sowohl tatsächliche Daten als auch Informationen enthält, die das nächste Element in der Liste identifizieren. Eine verknüpfte Liste kann somit durchlaufen werden, solange die Adresse des ersten Knotens bekannt ist. Diese Art der Datenstruktur ist vielseitig, da sie für ein dynamisches Wachstum geeignet ist, da jederzeit problemlos neue Knoten zugewiesen werden können. Durch Hinzufügen einer Variablen, die die Position des vorherigen Knotens in der Liste enthält, kann diese Art von Datenstruktur in beide Richtungen durchlaufen werden.
Bäume ordnen Knoten hierarchisch an, beginnend mit einem Wurzelknoten und absteigend durch mehrere Knotenebenen, bis alle erforderlichen Daten in der Struktur enthalten sind. In der Regel werden die Elemente in einem Baum in gewisser Weise sortiert. Bäume können eine Sortierung implementieren und bieten daher möglicherweise einen viel schnelleren Zugriff auf gespeicherte Daten, da bei jeder Verzweigung ganze Datenmengen nicht berücksichtigt werden müssen, die in einer verknüpften Liste sortiert werden müssten.
Hash-Tabellen werden verwendet, um eine Speicheradresse zu bestimmen, in der ein bestimmtes Datenelement gespeichert werden soll, indem eine Gleichung verwendet wird, um diese Daten in eine Speicheradresse umzuwandeln. Sie können eine sehr effiziente Struktur zum Speichern und Abrufen von Daten aus einem Array sein.
Alle Datenstrukturen sollen die Anzahl der Anweisungen verringern, die ein Computer ausführen muss, um eine bestimmte Information zu lokalisieren. Verschiedene Arten von Daten eignen sich für verschiedene Arten von Datenstrukturen. Die meisten modernen Programmiersprachen bieten jedoch Unterstützung für eine Vielzahl von Datenstrukturen oder stellen Tools zur Verfügung, mit denen Programmierer ihre eigenen Datenstrukturen codieren können.