Informatik 1.6 — Datenstrukturen Grundlagen

Auswahl-Cheatsheet

Wie wählt man die richtige Datenstruktur? Hier eine Entscheidungs-Hilfe nach typischen Anwendungen:

AnwendungEmpfohlene StrukturWarum
Reihenfolge wichtig, häufiger Index-ZugriffArrayO(1) Zugriff, Cache-Lokalität
Lookup per Schlüssel (User-ID → User)Hash-MapO(1) Lookup
Deduplizieren von WertenSetO(1) Has-Check
Undo-History, Funktions-AufrufeStackLIFO
Job-Verarbeitung in ReihenfolgeQueueFIFO
"Wichtigster zuerst" (Job-Scheduler, Dijkstra)Priority Queue / HeapO(log n) extract-min
Sortierte Daten + häufiger LookupSortiertes Array oder Balanced TreeBinary Search O(log n)
Range-Queries ("Alter zwischen 20-30")Balanced Tree (TreeMap)Sortierte Reihenfolge
AutovervollständigungTriePräfix-Suche O(L)
DB-IndexB-Tree / B+TreeOptimiert für Plattenzugriffe
Cache mit EvictionHash-Map + Linked List (LRU)O(1) Lookup + O(1) Eviction
Graph-DatenAdjacency List (Map → Array)Sparse Graphs

Faustregel

"Was muss schnell sein?" → wähle die Datenstruktur, die DIESE Operation in O(1) oder O(log n) macht. Andere Operationen darfst du opfern.

Zurück zu Informatik