1.Makkelijk
Wat doet de bewerking peek (of top) op een stack?
- AVerwijdert het bovenste element en geeft het terug
- BVerwijdert alle elementen van de stack
- CGeeft het bovenste element terug zonder het te verwijderen
- DGeeft het onderste element van de stack terug
2.Makkelijk
Hoe heet de stackbewerking die een element bovenaan toevoegt?
- APush
- BEnqueue
- CPop
- DPeek
3.Makkelijk
Wat slaat een map (dictionary) op?
- AParen van gelijke sleutels
- BWaarden gesorteerd op grootte
- CSleutel-waardeparen met unieke sleutels
- DAlleen waarden in volgorde van invoegen
4.Gemiddeld
Hoe lang duurt het zoeken naar een woord met lengte L in een trie met een vast alfabet?
- AO(log n), waarbij n het aantal woorden is
- BO(n), waarbij n het aantal woorden is
- CO(L), onafhankelijk van hoeveel woorden er zijn opgeslagen
- DO(L × n)
5.Gemiddeld
Hoe lang duurt het om met een adjacency matrix te controleren of de kant (u, v) bestaat?
- AO(V)
- BO(1)
- CO(E)
- DO(log V)
6.Gemiddeld
In een binaire min-heap die in een array is opgeslagen (index begint bij 0), staan de kinderen van de knoop op index i op:
- Ai + 1 en i + 2
- B2i + 1 en 2i + 2
- C2i en 2i + 1
- Di/2 en i/2 + 1
7.Moeilijk
Een dynamische array verdubbelt als hij vol is. Waarom verkleinen veel implementaties hem pas als hij voor een kwart vol is, en niet voor de helft?
- AOm de array gesorteerd te houden
- BOmdat halveren bij de helft elementen zou kwijtraken
- COm herhaald vergroten en verkleinen te voorkomen als pushes en pops elkaar bij de grens afwisselen
- DOmdat de geheugenbeheerder geheugen alleen in kwarten van een blok kan vrijgeven
8.Moeilijk
Hoe kun je met O(1) extra geheugen detecteren of een enkelvoudig gekoppelde lijst een cykel bevat?
- ASla elke bezochte knoop op in een hash-set
- BSorteer de lijst en zoek naar duplicaten
- CVerplaats één pointer telkens één stap en een andere twee stappen en kijk of ze elkaar ontmoeten
- DTel de knopen tot het aantal het lengteveld van de lijst overschrijdt
Antwoordenblad
- 1. C · Geeft het bovenste element terug zonder het te verwijderen
- 2. A · Push
- 3. C · Sleutel-waardeparen met unieke sleutels
- 4. C · O(L), onafhankelijk van hoeveel woorden er zijn opgeslagen
- 5. B · O(1)
- 6. B · 2i + 1 en 2i + 2
- 7. C · Om herhaald vergroten en verkleinen te voorkomen als pushes en pops elkaar bij de grens afwisselen
- 8. C · Verplaats één pointer telkens één stap en een andere twee stappen en kijk of ze elkaar ontmoeten
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.