1.Leicht
Welche Datenstruktur eignet sich am besten für die „Rückgängig“-Funktion (Undo) in einem Texteditor?
- AGraph
- BStapel (Stack)
- CWarteschlange (Queue)
- DHash-Set
2.Leicht
In einem binären Suchbaum sind die Werte im linken Teilbaum eines Knotens:
- AGrößer als der Wert des Knotens
- BKleiner als der Wert des Knotens
- CIn zufälliger Reihenfolge
- DGleich dem Wert des Knotens
3.Leicht
Was ist ein Zyklus in einem Graphen?
- AEin Knoten ohne Kanten
- BEine Kante mit dem Gewicht null
- CEin Pfad, der am selben Knoten beginnt und endet
- DEin Pfad, der jeden Knoten besucht
4.Mittel
Wie funktioniert extract-min in einem binären Min-Heap?
- ADie Wurzel entfernen und alle Elemente um eine Stelle nach links verschieben
- BAlle Blätter nach dem neuen Minimum durchsuchen
- CDas letzte Element in die Wurzel verschieben und nach unten wandern lassen
- DDas letzte Element des Arrays entfernen
5.Mittel
Wie wird ein neues Element in einen binären Heap eingefügt?
- AIn die Wurzel setzen und nach unten wandern lassen
- BAn der sortierten Position einfügen, indem alle größeren Elemente um eine Stelle nach rechts verschoben werden
- CDen ganzen Heap von Grund auf neu aufbauen
- DAns Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
6.Mittel
Welche Datenstruktur nutzt ein laufendes Programm, um aktive Funktionsaufrufe und ihre lokalen Variablen zu verwalten?
- ADie Heap-Speicher-Queue
- BEine Hashtabelle der Funktionen
- CDen Aufrufstack (Call Stack)
- DEinen binären Suchbaum der Frames
7.Schwer
Warum verwenden Datenbanken für Indizes oft B+-Bäume statt einfacher B-Bäume?
- AAlle Datensätze liegen in verketteten Blättern, was Bereichsscans effizient macht
- BB+-Bäume speichern Daten nur in der Wurzel
- CB+-Bäume verwenden binäre innere Knoten, was Festplattenzugriffe reduziert
- DB+-Bäume müssen nicht balanciert sein
8.Schwer
Ein dynamisches Array verdoppelt sich, wenn es voll ist. Warum verkleinern es viele Implementierungen erst, wenn es zu einem Viertel gefüllt ist, und nicht schon bei halber Füllung?
- AUm wiederholtes Umdimensionieren zu vermeiden, wenn sich push und pop nahe der Grenze abwechseln
- BUm das Array sortiert zu halten
- CWeil der Speicherverwalter Speicher nur in Vierteln eines Blocks freigeben kann
- DWeil Halbieren bei halber Füllung Elemente verlieren würde
Lösungsschlüssel
- 1. B · Stapel (Stack)
- 2. B · Kleiner als der Wert des Knotens
- 3. C · Ein Pfad, der am selben Knoten beginnt und endet
- 4. C · Das letzte Element in die Wurzel verschieben und nach unten wandern lassen
- 5. D · Ans Ende des Arrays setzen und nach oben wandern lassen (sift-up), solange es die Heap-Eigenschaft verletzt
- 6. C · Den Aufrufstack (Call Stack)
- 7. A · Alle Datensätze liegen in verketteten Blättern, was Bereichsscans effizient macht
- 8. A · Um wiederholtes Umdimensionieren zu vermeiden, wenn sich push und pop nahe der Grenze abwechseln
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.