Junior
Welche Datenstrukturen gibt es?
sobes.tech KI
Antwort von AI
Datenstrukturen werden in zwei Hauptkategorien unterteilt:
-
Lineare: Elemente sind sequenziell angeordnet.
- Array: Feste Größe, direkter Zugriff per Index.
int[] numbers = { 1, 2, 3, 4, 5 }; // Beispiel für Deklaration - Liste: Dynamische Größe, Elemente werden hinzugefügt und entfernt.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Verkettete Liste: Elemente (Knoten) enthalten einen Verweis auf das nächste (und möglicherweise auf das vorherige).
- Einfach verkettete
- Doppelt verkettete
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Stapel (Stack): Zuletzt rein, zuerst raus (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Element auf den Stapel legen int item = stack.Pop(); // Element vom Stapel entfernen und zurückgeben - Warteschlange (Queue): Zuerst rein, zuerst raus (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Aufgabe 1"); // Element am Ende hinzufügen string task = queue.Dequeue(); // Element vom Anfang entfernen und zurückgeben
- Array: Feste Größe, direkter Zugriff per Index.
-
Nicht-lineare: Elemente sind nicht sequenziell angeordnet.
- Baum: Hierarchische Struktur mit Wurzelknoten und Nachkommen.
- Binärbaum
- B-Baum
- Rot-Schwarz-Baum
- AVL-Baum
- Graf: Menge von Knoten (Vertices) und Kanten (Verbindungen) zwischen ihnen.
- Gerichtet (Directed)
- Ungerichtet (Undirected)
- Hash-Tabelle / Wörterbuch: Speichern Paare aus Schlüssel und Wert, verwenden eine Hash-Funktion für schnelle Suche.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Schneller Zugriff per Schlüssel - Menge (Set): Sammlung von einzigartigen Elementen ohne bestimmte Reihenfolge.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Duplikat wird nicht hinzugefügt
- Baum: Hierarchische Struktur mit Wurzelknoten und Nachkommen.