Was sind Datenstrukturen in der Informatik?
Eine kurze Einführung in das Thema Datenstrukturen, die erklärt, was Datenstrukturen sind, welche es gibt und aus welchem Grund sich Informatiker mit dem Thema auskennen sollten.Was genau sind Datenstrukturen?
Eine Datenstruktur organisiert Daten und stellt Algorithmen zu deren Verwaltung zur Verfügung. Dabei werden die Daten miteinander verknüpft und aus diesem Grund spricht man von einer "Struktur". Die Art der zu speichernden Informationen spielt im ersten Moment keine Rolle: Es kann sich um Namen handeln, Geldbeträge oder komplexe Objekte. Der Einfachheit halber werden in diesem Artikel und den folgenden Zahlen gespeichert. Dabei können Datenstrukturen verwendet werden, um Daten sowohl während der Laufzeit eines Programms im Arbeitsspeicher oder auf der Festplatte wie z.B. in Datenbanken zu verwalten. Bäume werden bspw. sowohl für die Datenhaltung im Arbeitsspeicher als auch auf der Festplatte eingesetzt.
Datenstrukturen müssen bestimmte grundlegende Funktionen zur Verfügung stellen, damit man von "Datenverwaltung" sprechen kann: z.B. Hinzufügen, Suchen und Löschen von Informationen. Bei diesen Aspekten spielen die Vor- und Nachteile von Datenstrukturen eine große Rolle, denn Operationen wie Hinzufügen oder Löschen können in verschiedenen Datenstrukturen verschieden effizient ablaufen und unterschiedlich schwierig zu implementieren sein. Einige Datenstrukturen benötigen mehr Speicher als andere, bringen dafür aber andere Vorteile mit sich wie z.B. effizientere Suche.
Daher müssen Sie in der Lage sein, die Vor- und Nachteile von Datenstrukturen gegeneinander abzuwägen, um eine Entscheidung für oder wider eine Struktur zu fällen. Die Entscheidung hängt natürlich stark von der zu lösenden Aufgabe ab und den Schwierigkeiten, die dabei auftreten können.
Aus welchem Grund sollte man sich mit Datenstrukturen auskennen?
Wie bereits erwähnt, muss man selten Datenstrukturen selbst programmieren, denn gängige Programmiersprachen bringen bereits entsprechende Klassen mit sich, in denen die Strukturen bereits zur Verwendung fertig implementiert sind. Man muss nur noch ein Objekt anlegen und mit der Datenstruktur arbeiten. Als Informatiker sollten Sie aber dennoch deren Konzepte und Funktionsweisen kennen. Denn natürlich müssen Sie in der Lage sein zu entscheiden, welche Datenstruktur Sie in welchen Fällen am besten verwenden.
Außerdem erhöht die Kenntnis von Datenstrukturen das Verständnis der Programmierung und der Informatik allgemein sehr stark. Sie können z.B. die Funktionsweise von Datenbanken besser verstehen, wenn Sie sich mit Bäumen beschäftigt haben. Dazu kommt, dass die Implementierung von Datenstrukturen eine äußerst gute Übung ist, um die eigenen Fähigkeiten in der Programmierung weiterzuentwickeln.
Welche Datenstrukturen gibt es?
Die elementaren Datenstrukturen wie z.B. Arrays und verkettete Listen bilden die Grundlage für komplexere Strukturen wie z.B. Stacks, Bäume usw. So kann ein Stack sowohl durch eine Liste als auch durch ein Array realisiert werden. Eine Liste kann wiederum unter Verwendung von Arrays implementiert werden. Die folgende Liste zeigt einige der wichtigsten Datenstrukturen, die in den nächsten Artikeln vorgestellt werden sollen:
- Arrays
- Stacks
- Queues
- Verkettete Listen
- Bäume
- Binäre Bäume
- Rot-Schwarz-Bäume
- 2-3-4-Bäume
- Hash-Tabellen
Bildquelle:
Paul-Georg Meister
(Eigene Homepage erstellen? Das is zu beachten)