Python - DS Einführung
Datenstrukturübersicht
Datenstrukturen sind grundlegende Konzepte der Informatik, die dazu beitragen, effiziente Programme in jeder Sprache zu schreiben. Python ist eine interpretierte, interaktive und objektorientierte Skriptsprache auf hoher Ebene, mit der wir die Grundlagen der Datenstruktur im Vergleich zu anderen Programmiersprachen einfacher studieren können.
In diesem Kapitel werden wir einen kurzen Überblick über einige häufig verwendete Datenstrukturen im Allgemeinen und deren Beziehung zu bestimmten Python-Datentypen geben. Es gibt auch einige Python-spezifische Datenstrukturen, die als andere Kategorie aufgeführt sind.
Allgemeine Datenstrukturen
Die verschiedenen Datenstrukturen in der Informatik sind grob in zwei unten gezeigte Kategorien unterteilt. Wir werden in den folgenden Kapiteln detailliert auf jede der folgenden Datenstrukturen eingehen.
Liner-Datenstrukturen
Dies sind die Datenstrukturen, in denen die Datenelemente sequentiell gespeichert werden.
- Array: Es ist eine sequentielle Anordnung von Datenelementen, die mit dem Index des Datenelements gepaart sind.
- Linked List: Jedes Datenelement enthält zusammen mit den darin enthaltenen Daten eine Verknüpfung zu einem anderen Element.
- Stack: Es ist eine Datenstruktur, die nur einer bestimmten Betriebsreihenfolge folgt. LIFO (zuletzt in First Out) oder FILO (First in Last Out).
- Queue: Es ist ähnlich wie Stack, aber die Reihenfolge der Operationen ist nur FIFO (First In First Out).
- Matrix: Es ist eine zweidimensionale Datenstruktur, in der das Datenelement durch ein Paar von Indizes bezeichnet wird.
Nicht-Liner-Datenstrukturen
Dies sind die Datenstrukturen, in denen keine sequentielle Verknüpfung von Datenelementen erfolgt. Jedes Paar oder jede Gruppe von Datenelementen kann miteinander verknüpft werden und ohne strenge Reihenfolge aufgerufen werden.
- Binary Tree: Es ist eine Datenstruktur, bei der jedes Datenelement mit maximal zwei anderen Datenelementen verbunden werden kann und mit einem Wurzelknoten beginnt.
- Heap: Es ist ein Sonderfall der Baumdatenstruktur, bei dem die Daten im übergeordneten Knoten entweder streng größer / gleich den untergeordneten Knoten oder streng kleiner als die untergeordneten Knoten sind.
- Hash Table: Es handelt sich um eine Datenstruktur, die aus Arrays besteht, die mithilfe einer Hash-Funktion miteinander verknüpft sind. Es ruft Werte mit Schlüsseln ab und nicht mit einem Index aus einem Datenelement.
- Graph: .Es ist eine Anordnung von Eckpunkten und Knoten, bei denen einige der Knoten durch Verbindungen miteinander verbunden sind.
Python-spezifische Datenstrukturen
Diese Datenstrukturen sind spezifisch für die Python-Sprache und bieten eine größere Flexibilität beim Speichern verschiedener Datentypen und eine schnellere Verarbeitung in einer Python-Umgebung.
- List: Es ähnelt dem Array mit der Ausnahme, dass die Datenelemente unterschiedliche Datentypen haben können. Sie können sowohl numerische als auch Zeichenfolgendaten in einer Python-Liste haben.
- Tuple: Tupel ähneln Listen, sind jedoch unveränderlich, was bedeutet, dass die Werte in einem Tupel nicht geändert werden können, sondern nur gelesen werden können.
- Dictionary: Das Wörterbuch enthält Schlüssel-Wert-Paare als Datenelemente.
In den nächsten Kapiteln erfahren Sie, wie jede dieser Datenstrukturen mit Python implementiert werden kann.