1.Leicht
Was ist der Hauptunterschied zwischen einem statischen und einem dynamischen Array?
- AEin dynamisches Array kann wachsen, indem es in einen größeren Speicherblock umzieht
- BEin statisches Array erlaubt einen langsameren Indexzugriff
- CEin dynamisches Array speichert seine Elemente in verketteten Knoten, damit es einzeln wachsen kann
- DEin statisches Array kann nur Zahlen speichern
2.Leicht
In einem binären Suchbaum sind die Werte im linken Teilbaum eines Knotens:
- AKleiner als der Wert des Knotens
- BGleich dem Wert des Knotens
- CIn zufälliger Reihenfolge
- DGrößer als der Wert des Knotens
3.Leicht
Was ist das kennzeichnende Merkmal einer Menge (Set) als abstrakter Datentyp?
- ASie speichert Schlüssel-Wert-Paare
- BSie speichert Elemente ohne Duplikate
- CSie erlaubt nur an einem Ende Zugriff
- DSie speichert Elemente in sortierter Reihenfolge
4.Mittel
Eine Queue wird mit zwei Stacks implementiert: push auf einen „in“-Stack und pop von einem „out“-Stack, der aus „in“ nachgefüllt wird, wenn er leer ist. Wie hoch sind die amortisierten Kosten pro Operation?
- AO(n²)
- BO(1)
- CO(log n)
- DO(n)
5.Mittel
Mit welcher Datenstruktur prüft man, ob die Klammern in "{[()]}" ausgeglichen sind?
- AMit einer Hashtabelle
- BMit einem binären Suchbaum
- CMit einem Stack
- DMit einer Queue
6.Mittel
Ein Trie (Präfixbaum) ist besonders effizient für:
- ADas Finden kürzester Wege
- BDas Sortieren von Zahlen
- CPräfixsuchen wie Autovervollständigung
- DDas Speichern von Matrizen
7.Schwer
Du musst aus einem Strom von n Zahlen die k kleinsten Werte mit O(k) Speicher behalten. Welcher Ansatz schafft das in O(n log k) Zeit?
- AEine FIFO-Queue der letzten k Werte
- BEin Min-Heap mit allen n Werten, aus dem am Ende die k kleinsten entnommen werden
- CEin Max-Heap der Größe k, dessen Wurzel ersetzt wird, wenn ein kleinerer Wert ankommt
- DEin sortiertes Array aller n Werte
8.Schwer
Die Schlüssel 5, 3, 8, 1 werden in dieser Reihenfolge in einen leeren, arraybasierten binären Min-Heap eingefügt. Wie sieht das Array am Ende aus?
- A[1, 3, 8, 5]
- B[3, 1, 8, 5]
- C[1, 3, 5, 8]
- D[1, 5, 8, 3]
Lösungsschlüssel
- 1. A · Ein dynamisches Array kann wachsen, indem es in einen größeren Speicherblock umzieht
- 2. A · Kleiner als der Wert des Knotens
- 3. B · Sie speichert Elemente ohne Duplikate
- 4. B · O(1)
- 5. C · Mit einem Stack
- 6. C · Präfixsuchen wie Autovervollständigung
- 7. C · Ein Max-Heap der Größe k, dessen Wurzel ersetzt wird, wenn ein kleinerer Wert ankommt
- 8. A · [1, 3, 8, 5]
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.