1.Makkelijk
Wat bevat in een enkelvoudig gekoppelde lijst de next-pointer van de laatste knoop?
- ANull (geen knoop)
- BHet aantal knopen in de lijst
- CHet adres van de vorige knoop
- DHet adres van de eerste knoop
2.Makkelijk
Welke bewerking is traag in een array maar snel aan de kop van een gekoppelde lijst?
- AHet 5e element benaderen
- BDe lengte van een array met vaste grootte bepalen
- CInvoegen aan het begin
- DHet laatste element via de index lezen
3.Makkelijk
Welke datastructuur werkt volgens het principe "first in, first out" (FIFO)?
- ABinaire boom
- BHeap
- CStapel (stack)
- DWachtrij (queue)
4.Gemiddeld
Hoeveel knopen heeft een perfecte binaire boom met hoogte h, waarbij de hoogte in kanten wordt geteld?
- A2h + 1
- B2h+1 − 1
- Ch2
- D2h
5.Gemiddeld
Welke datastructuur gebruikt een draaiend programma om actieve functieaanroepen en hun lokale variabelen bij te houden?
- AEen binaire zoekboom van frames
- BDe call stack
- CDe wachtrij van het heapgeheugen
- DEen hashtabel van functies
6.Gemiddeld
Waarom is het doorlopen van een array in de praktijk vaak veel sneller dan het doorlopen van een gekoppelde lijst van dezelfde lengte?
- AArray-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- BArrays gebruiken minder instructies om waarden te vergelijken
- CGekoppelde lijsten slaan elementen altijd op schijf op
- DEen array doorlopen kost in totaal O(1), een gekoppelde lijst doorlopen O(n)
7.Moeilijk
Het verwijderen van een knoop met twee kinderen uit een binaire zoekboom gebeurt meestal door:
- ADe deelboom eronder helemaal opnieuw op te bouwen en elke sleutel die erin zat opnieuw in te voegen
- BHem te vervangen door zijn in-order-opvolger (of -voorganger) en die knoop te verwijderen
- CDe hele subboom te verwijderen
- DHem te verwisselen met de wortel
8.Moeilijk
De union-find-structuur (disjoint set) met union by rank en padcompressie heeft geamortiseerde kosten per bewerking van:
- AO(n²)
- BO(α(n)), de inverse Ackermann-functie, die in de praktijk constant is
- CO(n)
- DPrecies O(log n)
Antwoordenblad
- 1. A · Null (geen knoop)
- 2. C · Invoegen aan het begin
- 3. D · Wachtrij (queue)
- 4. B · 2h+1 − 1
- 5. B · De call stack
- 6. A · Array-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- 7. B · Hem te vervangen door zijn in-order-opvolger (of -voorganger) en die knoop te verwijderen
- 8. B · O(α(n)), de inverse Ackermann-functie, die in de praktijk constant is
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.