1.Leicht
Ein Graph besteht aus:
- AZeilen und Spalten
- BNur Schlüsseln und Hashwerten
- CNur einer Wurzel und Blättern
- DKnoten (Ecken), die durch Kanten verbunden sind
2.Leicht
Was bewirkt die Operation peek (oder top) bei einem Stack?
- ASie gibt das unterste Element des Stacks zurück
- BSie entfernt das oberste Element und gibt es zurück
- CSie entfernt alle Elemente aus dem Stack
- DSie gibt das oberste Element zurück, ohne es zu entfernen
3.Leicht
Welche Datenstruktur wird für eine Level-Order-Traversierung eines Baums verwendet?
- AQueue
- BHashtabelle
- CPrioritätswarteschlange
- DStack
4.Mittel
Was passiert, wenn eine Hashtabelle nach Überschreiten eines Füllgrad-Schwellenwerts ein Rehashing durchführt?
- ADie vorhandenen Schlüssel werden an Ort und Stelle sortiert
- BNur die kollidierenden Schlüssel kommen in eine neue Überlaufliste am Ende der Tabelle
- CDie ältesten Schlüssel werden gelöscht, um Platz zu schaffen
- DEine größere Tabelle wird angelegt und jeder Schlüssel neu eingefügt
5.Mittel
Warum ist das Durchlaufen eines Arrays in der Praxis oft viel schneller als das einer gleich langen verketteten Liste?
- AArray-Elemente liegen zusammenhängend und nutzen daher den CPU-Cache gut aus
- BArrays brauchen weniger Instruktionen zum Vergleichen von Werten
- CVerkettete Listen speichern Elemente immer auf der Festplatte
- DDas Durchlaufen eines Arrays ist insgesamt O(1), das einer verketteten Liste O(n)
6.Mittel
Was kostet das Einfügen eines Elements in der Mitte eines Arrays mit n Elementen?
- AO(n²), weil jedes Element n-mal verschoben wird
- BO(n), weil die nachfolgenden Elemente verschoben werden müssen
- CO(log n), wegen der binären Suche
- DO(1), weil der Index bekannt ist
7.Schwer
Ein Segmentbaum (Segment Tree) wird typischerweise verwendet, um:
- AZeichenketten alphabetisch zu sortieren, indem jedes Präfix in einem eigenen Baumknoten gespeichert wird
- BBereichsabfragen (z. B. Bereichssummen) und Aktualisierungen in O(log n) zu beantworten
- CDie Kanten eines Graphen zu speichern
- DEinen Stack zu implementieren
8.Schwer
Im BST mit Wurzel 50, linkem Teilbaum 30 (Kinder 20, 40) und rechtem Teilbaum 70 (Kinder 60, 80) wird die Wurzel mithilfe des In-Order-Nachfolgers gelöscht. Welcher Schlüssel wird die neue Wurzel?
- A40
- B60
- C80
- D70
Lösungsschlüssel
- 1. D · Knoten (Ecken), die durch Kanten verbunden sind
- 2. D · Sie gibt das oberste Element zurück, ohne es zu entfernen
- 3. A · Queue
- 4. D · Eine größere Tabelle wird angelegt und jeder Schlüssel neu eingefügt
- 5. A · Array-Elemente liegen zusammenhängend und nutzen daher den CPU-Cache gut aus
- 6. B · O(n), weil die nachfolgenden Elemente verschoben werden müssen
- 7. B · Bereichsabfragen (z. B. Bereichssummen) und Aktualisierungen in O(log n) zu beantworten
- 8. B · 60
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.