1.Leicht
Was ist der Füllgrad (Load Factor) einer Hashtabelle?
- ADie Anzahl der bisherigen Kollisionen
- BDie Zeit, um die Tabelle von der Festplatte zu laden
- CDie Anzahl der Buckets geteilt durch die durchschnittliche Länge der gespeicherten Schlüssel
- DDie Anzahl gespeicherter Elemente geteilt durch die Anzahl der Buckets
2.Leicht
In welcher Reihenfolge besucht eine Pre-Order-Traversierung eines Binärbaums die Knoten?
- ALinker Teilbaum, dann Knoten, dann rechter Teilbaum
- BLinker Teilbaum, dann rechter Teilbaum, dann Knoten
- CKnoten, dann linker Teilbaum, dann rechter Teilbaum
- DEbene für Ebene von oben
3.Leicht
Was ist die Max-Heap-Eigenschaft?
- AAlle Blätter enthalten den maximalen Schlüssel
- BDie Schlüssel sind von links nach rechts sortiert
- CDer Schlüssel jedes Elternknotens ist größer oder gleich den Schlüsseln seiner Kinder
- DDer Schlüssel jedes linken Kindes ist größer oder gleich dem Schlüssel seines rechten Geschwisterknotens
4.Mittel
Wie wird ein neues Element in einen binären Heap eingefügt?
- AIn die Wurzel setzen und nach unten wandern lassen
- BAns Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- CAn der sortierten Position einfügen, indem alle größeren Elemente um eine Stelle nach rechts verschoben werden
- DDen ganzen Heap von Grund auf neu aufbauen
5.Mittel
Welche Datenstruktur verwendet die Tiefensuche (DFS) in der iterativen Variante?
- ANur eine Hashtabelle
- BEinen Stack
- CEine Queue
- DEinen Heap
6.Mittel
Wozu dient ein Sentinel-Knoten (Dummy-Knoten) in einer verketteten Liste?
- AEr vereinfacht den Code, weil Sonderfälle am Kopf oder Ende wegfallen
- BEr speichert die Anzahl der Elemente
- CEr hält die Liste sortiert
- DUm zu verhindern, dass die Liste über eine feste Höchstzahl von Knoten hinauswächst
7.Schwer
Durch das Einfügen eines Schlüssels in einen AVL-Baum wird der linke Teilbaum eines Knotens zu hoch, und der neue Schlüssel landete im linken Teilbaum seines linken Kindes (Links-links-Fall). Welche Korrektur wird angewendet?
- AEine einfache Rechtsrotation am unbalancierten Knoten
- BEine einfache Linksrotation am unbalancierten Knoten
- CUmfärben des Knotens und seines Kindes
- DEine Linksrotation am Kind, dann eine Rechtsrotation am Knoten
8.Schwer
Wie kannst du mit O(1) zusätzlichem Speicher erkennen, ob eine einfach verkettete Liste einen Zyklus enthält?
- AEinen Zeiger um einen Schritt und einen anderen um zwei Schritte bewegen und prüfen, ob sie sich treffen
- BDie Knoten zählen, bis die Zahl das Längenfeld der Liste übersteigt
- CDie Liste sortieren und nach Duplikaten suchen
- DJeden besuchten Knoten in einem Hash-Set speichern
Lösungsschlüssel
- 1. D · Die Anzahl gespeicherter Elemente geteilt durch die Anzahl der Buckets
- 2. C · Knoten, dann linker Teilbaum, dann rechter Teilbaum
- 3. C · Der Schlüssel jedes Elternknotens ist größer oder gleich den Schlüsseln seiner Kinder
- 4. B · Ans Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- 5. B · Einen Stack
- 6. A · Er vereinfacht den Code, weil Sonderfälle am Kopf oder Ende wegfallen
- 7. A · Eine einfache Rechtsrotation am unbalancierten Knoten
- 8. A · Einen Zeiger um einen Schritt und einen anderen um zwei Schritte bewegen und prüfen, ob sie sich treffen
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.