Sobes.tech
Junior

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