1.Makkelijk
Wat definieert een binaire boom?
- AElke knoop heeft precies twee kinderen
- BElke knoop heeft hoogstens twee kinderen
- CDe boom heeft precies twee niveaus
- DElke knoop slaat een binair getal op
2.Makkelijk
Wat is een deque (double-ended queue)?
- AEen queue die alleen verwijderen achteraan toestaat
- BEen queue gesorteerd op prioriteit
- CEen structuur die invoegen en verwijderen aan beide uiteinden toestaat
- DTwee aparte queues die één array delen
3.Makkelijk
Welke datastructuur wordt gebruikt voor een level-order-doorloop van een boom?
- APrioriteitswachtrij
- BQueue
- CHashtabel
- DStack
4.Gemiddeld
AVL-bomen en rood-zwartbomen garanderen:
- AZoeken in constante tijd in elk geval
- BDat sleutels in invoegvolgorde worden opgeslagen
- CEen hoogte van O(log n) door herbalancering
- DDat geen enkele knoop twee kinderen heeft
5.Gemiddeld
Waarom is het doorlopen van een array in de praktijk vaak veel sneller dan het doorlopen van een gekoppelde lijst van dezelfde lengte?
- AEen array doorlopen kost in totaal O(1), een gekoppelde lijst doorlopen O(n)
- BGekoppelde lijsten slaan elementen altijd op schijf op
- CArray-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- DArrays gebruiken minder instructies om waarden te vergelijken
6.Gemiddeld
Waar staat in een binaire heap die in een array vanaf index 0 is opgeslagen de ouder van de knoop op index i?
- AOp index i − 1
- BOp index ⌊(i − 1) / 2⌋
- COp index 2i + 1
- DOp index ⌊i / 2⌋ + 1
7.Moeilijk
Wat is het belangrijkste voordeel van een skiplist ten opzichte van een gesorteerde gekoppelde lijst?
- AVerwacht zoeken in O(log n) door meerdere niveaus van voorwaartse pointers
- BGegarandeerd zoeken in O(1), omdat elke knoop een pointer naar elke andere knoop bewaart
- CHij slaat sleutels ongeordend op
- DHij gebruikt geen extra geheugen
8.Moeilijk
Een object wordt als sleutel in een hashmap opgeslagen, waarna een veld dat de hashfunctie gebruikt wordt gewijzigd. Wat is het waarschijnlijke gevolg?
- AEr verandert niets, omdat de hash van een sleutel maar één keer wordt berekend wanneer het programma start
- BDe map verplaatst de sleutel automatisch naar zijn nieuwe bucket
- CHet object opzoeken kan mislukken, omdat het in de bucket voor zijn oude hash staat
- DDe map geeft een fout op het moment dat het veld verandert
Antwoordenblad
- 1. B · Elke knoop heeft hoogstens twee kinderen
- 2. C · Een structuur die invoegen en verwijderen aan beide uiteinden toestaat
- 3. B · Queue
- 4. C · Een hoogte van O(log n) door herbalancering
- 5. C · Array-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- 6. B · Op index ⌊(i − 1) / 2⌋
- 7. A · Verwacht zoeken in O(log n) door meerdere niveaus van voorwaartse pointers
- 8. C · Het object opzoeken kan mislukken, omdat het in de bucket voor zijn oude hash staat
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.