1.Leicht
Was enthält jeder Knoten einer doppelt verketteten Liste?
- ADaten und zwei Zeiger, einen auf den nächsten Knoten und einen auf den Knoten danach
- BZwei Kopien der Daten und einen Zeiger
- CDaten, einen Zeiger auf den nächsten Knoten und einen Zeiger auf den vorherigen Knoten
- DDaten und nur einen Zeiger auf den nächsten Knoten
2.Leicht
Was bewirkt die Operation peek (oder top) bei einem Stack?
- ASie gibt das unterste Element des Stacks zurück
- BSie gibt das oberste Element zurück, ohne es zu entfernen
- CSie entfernt das oberste Element und gibt es zurück
- DSie entfernt alle Elemente aus dem Stack
3.Leicht
Was sind Geschwisterknoten in einem Baum?
- AKnoten ohne Kindknoten
- BKnoten in gleicher Tiefe in verschiedenen Teilbäumen
- CEin Knoten und sein Elternknoten
- DKnoten mit demselben Elternknoten
4.Mittel
Wie wird ein neues Element in einen binären Heap eingefügt?
- AIn die Wurzel setzen und nach unten wandern lassen
- BDen ganzen Heap von Grund auf neu aufbauen
- CAns Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- DAn der sortierten Position einfügen, indem alle größeren Elemente um eine Stelle nach rechts verschoben werden
5.Mittel
Wie viel Speicher benötigt eine Adjazenzliste für einen Graphen mit V Knoten und E Kanten?
- AO(V + E)
- BO(V²)
- CO(V × E)
- DO(E²)
6.Mittel
Wie lange dauert es, mit einer Adjazenzmatrix zu prüfen, ob die Kante (u, v) existiert?
- AO(1)
- BO(V)
- CO(log V)
- DO(E)
7.Schwer
Welche Garantie geben die Regeln eines Rot-Schwarz-Baums für die Höhe eines Baums mit n Schlüsseln?
- ADie Höhe beträgt höchstens log2 n + 1
- BDie Höhe beträgt genau log2 n
- CDie Höhe beträgt höchstens n / 2
- DDie Höhe beträgt höchstens 2 log2(n + 1)
8.Schwer
In einem Ringpuffer kann front == rear entweder leer oder voll bedeuten. Wie unterscheidet man das üblicherweise?
- AFront und rear in derselben Variablen speichern
- BDie Puffergröße zu einer Zweierpotenz machen
- CDen Puffer immer leeren, wenn front gleich rear ist, sodass der Zustand leer ist
- DEinen separaten Elementzähler führen oder immer einen Platz frei lassen
Lösungsschlüssel
- 1. C · Daten, einen Zeiger auf den nächsten Knoten und einen Zeiger auf den vorherigen Knoten
- 2. B · Sie gibt das oberste Element zurück, ohne es zu entfernen
- 3. D · Knoten mit demselben Elternknoten
- 4. C · Ans Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- 5. A · O(V + E)
- 6. A · O(1)
- 7. D · Die Höhe beträgt höchstens 2 log2(n + 1)
- 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.