Welche Datenstrukturen gibt es?
sobes.tech KI
Antwort von AI
Arrays, Listen, Stapel, Warteschlangen, Bäume, Graphen, Hashtabellen.
Array: Sammlung von Elementen desselben Typs, gespeichert in zusammenhängenden Speicherzellen. Zugriff über Index.
Liste: Sequenzielle Sammlung von Elementen. Kann einfach oder doppelt verkettet sein. Hinzufügen/Entfernen in der Mitte ist effizienter als in einem Array.
Stapel: LIFO-Struktur (Last-In, First-Out). Operationen: push (hinzufügen), pop (entfernen vom Ende), peek (oberes Element ansehen).
Warteschlange: FIFO-Struktur (First-In, First-Out). Operationen: enqueue (am Ende hinzufügen), dequeue (am Anfang entfernen), peek (erstes Element ansehen).
Baum: Hierarchische Datenstruktur. Wurzel, Knoten, Nachkommen. Beispiel: binärer Suchbaum.
Graph: Menge von Knoten (Ecken), verbunden durch Kanten. Kann gerichtet oder ungerichtet, gewichtet oder ungewichtet sein.
Hashtabelle: Sammlung von Schlüssel-Wert-Paaren. Verwendet Hash-Funktion für schnellen Zugriff (im Durchschnitt). Kollisionen möglich.
Beispiele für die Verwendung in iOS:
- Arrays:
Array - Listen: Keine eingebaute Klasse, werden auf Basis von Arrays oder benutzerdefinierten Strukturen implementiert
- Stapel/Warteschlangen: Implementiert auf Basis von Arrays oder Listen
- Bäume: Werden in Frameworks verwendet, z.B. in UI (Hierarchie der Ansichten)
- Graphen: Zur Darstellung von Verbindungen, z.B. Netzwerke
- Hashtabellen:
Dictionary,Set
// Beispiel Array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Zugriff über Index
// Beispiel Dictionary (Hash-Tabelle)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Zugriff über Schlüssel