1.Leicht
Was ist ein gerichteter Graph?
- AEin Graph, dessen Kanten alle Gewichte haben
- BEin Graph, dessen Kanten eine Richtung von einem Knoten zu einem anderen haben
- CEin Graph, der keine Zyklen hat
- DEin Graph, in dem je zwei verschiedene Knoten durch eine Kante verbunden sind
2.Leicht
Ein Graph besteht aus:
- AKnoten (Ecken), die durch Kanten verbunden sind
- BNur Schlüsseln und Hashwerten
- CNur einer Wurzel und Blättern
- DZeilen und Spalten
3.Leicht
Was ist der Füllgrad (Load Factor) einer Hashtabelle?
- ADie Zeit, um die Tabelle von der Festplatte zu laden
- BDie Anzahl der Buckets geteilt durch die durchschnittliche Länge der gespeicherten Schlüssel
- CDie Anzahl gespeicherter Elemente geteilt durch die Anzahl der Buckets
- DDie Anzahl der bisherigen Kollisionen
4.Mittel
Wie funktioniert extract-min in einem binären Min-Heap?
- ADas letzte Element in die Wurzel verschieben und nach unten wandern lassen
- BDie Wurzel entfernen und alle Elemente um eine Stelle nach links verschieben
- CAlle Blätter nach dem neuen Minimum durchsuchen
- DDas letzte Element des Arrays entfernen
5.Mittel
Wie wird ein neues Element in einen binären Heap eingefügt?
- AAn der sortierten Position einfügen, indem alle größeren Elemente um eine Stelle nach rechts verschoben werden
- BAns Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- CDen ganzen Heap von Grund auf neu aufbauen
- DIn die Wurzel setzen und nach unten wandern lassen
6.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 Post-Order-Traversierung?
- A5 4 3 2 1
- B4 2 5 1 3
- C1 2 4 5 3
- D4 5 2 3 1
7.Schwer
Wie hoch ist unter der Annahme des einfachen gleichverteilten Hashings die erwartete Suchzeit in einer Hashtabelle mit Chaining, n Schlüsseln und m Buckets?
- AO(1 + α), wobei α = n / m
- BO(log n)
- CO(m)
- DO(n)
8.Schwer
Wie kannst du mit O(1) zusätzlichem Speicher erkennen, ob eine einfach verkettete Liste einen Zyklus enthält?
- ADie Liste sortieren und nach Duplikaten suchen
- BDie Knoten zählen, bis die Zahl das Längenfeld der Liste übersteigt
- CJeden besuchten Knoten in einem Hash-Set speichern
- DEinen Zeiger um einen Schritt und einen anderen um zwei Schritte bewegen und prüfen, ob sie sich treffen
Lösungsschlüssel
- 1. B · Ein Graph, dessen Kanten eine Richtung von einem Knoten zu einem anderen haben
- 2. A · Knoten (Ecken), die durch Kanten verbunden sind
- 3. C · Die Anzahl gespeicherter Elemente geteilt durch die Anzahl der Buckets
- 4. A · Das letzte Element in die Wurzel verschieben und nach unten wandern lassen
- 5. B · Ans Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- 6. D · 4 5 2 3 1
- 7. A · O(1 + α), wobei α = n / m
- 8. D · 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.