1.Leicht
Was ist der Hauptunterschied zwischen einem statischen und einem dynamischen Array?
- AEin statisches Array erlaubt einen langsameren Indexzugriff
- BEin dynamisches Array speichert seine Elemente in verketteten Knoten, damit es einzeln wachsen kann
- CEin dynamisches Array kann wachsen, indem es in einen größeren Speicherblock umzieht
- DEin statisches Array kann nur Zahlen speichern
2.Leicht
Wie viele Kanten hat ein Baum mit n Knoten?
- An + 1
- Bn
- C2n
- Dn − 1
3.Leicht
Wie werden die Elemente eines Arrays im Speicher abgelegt?
- AIn einem zusammenhängenden Block, eins nach dem anderen
- BAn zufälligen, per Hash gewählten Stellen
- CVerstreut, über Zeiger verbunden
- DIn einem Baum aus Speicherseiten
4.Mittel
Ein Binärbaum hat die Wurzel 1 mit linkem Kind 2 und rechtem Kind 3; Knoten 2 hat die Kinder 4 (links) und 5 (rechts). Wie lautet die Pre-Order-Traversierung?
- A4 5 2 3 1
- B1 2 4 5 3
- C1 2 3 4 5
- D4 2 5 1 3
5.Mittel
Was kostet das Einfügen eines Elements in der Mitte eines Arrays mit n Elementen?
- AO(1), weil der Index bekannt ist
- BO(log n), wegen der binären Suche
- CO(n²), weil jedes Element n-mal verschoben wird
- DO(n), weil die nachfolgenden Elemente verschoben werden müssen
6.Mittel
Eine Hashtabelle der Größe 7 verwendet h(k) = k mod 7 und lineares Sondieren. Wo wird 17 gespeichert, nachdem 10 eingefügt wurde?
- AIndex 6
- BIndex 4
- CIndex 0
- DIndex 3
7.Schwer
Warum kann man Elemente aus einem Standard-Bloom-Filter nicht einfach durch Löschen ihrer Bits entfernen?
- ADiese Bits können auch zu anderen Elementen gehören, was falsch-negative Ergebnisse verursachen würde
- BBloom-Filter speichern die vollständigen Elemente, die nach dem Hashen nicht wiedergefunden werden können
- CBits in einem Bloom-Filter können nach der Erstellung nicht geändert werden
- DLöschen würde die Falsch-positiv-Rate auf 100 % erhöhen
8.Schwer
In einem Ringpuffer kann front == rear entweder leer oder voll bedeuten. Wie unterscheidet man das üblicherweise?
- ADen Puffer immer leeren, wenn front gleich rear ist, sodass der Zustand leer ist
- BFront und rear in derselben Variablen speichern
- CDie Puffergröße zu einer Zweierpotenz machen
- DEinen separaten Elementzähler führen oder immer einen Platz frei lassen
Lösungsschlüssel
- 1. C · Ein dynamisches Array kann wachsen, indem es in einen größeren Speicherblock umzieht
- 2. D · n − 1
- 3. A · In einem zusammenhängenden Block, eins nach dem anderen
- 4. B · 1 2 4 5 3
- 5. D · O(n), weil die nachfolgenden Elemente verschoben werden müssen
- 6. B · Index 4
- 7. A · Diese Bits können auch zu anderen Elementen gehören, was falsch-negative Ergebnisse verursachen würde
- 8. D · Einen separaten Elementzähler führen oder immer einen Platz frei lassen
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.