1.Makkelijk
Wat doet een hashfunctie in een hashtabel?
- ASorteert de sleutels in de tabel
- BBeeldt een sleutel af op een index in de tabel
- CVersleutelt de waarden in de tabel
- DTelt hoeveel sleutels er zijn opgeslagen
2.Makkelijk
Wat is een deque (double-ended queue)?
- AEen queue gesorteerd op prioriteit
- BEen queue die alleen verwijderen achteraan toestaat
- CTwee aparte queues die één array delen
- DEen structuur die invoegen en verwijderen aan beide uiteinden toestaat
3.Makkelijk
Een graaf bestaat uit:
- AAlleen sleutels en hashes
- BAlleen een wortel en bladeren
- CKnopen (vertices) verbonden door kanten
- DRijen en kolommen
4.Gemiddeld
Hoeveel geheugen gebruikt een adjacency list voor een graaf met V knopen en E kanten?
- AO(V × E)
- BO(V²)
- CO(E²)
- DO(V + E)
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?
- AArrays gebruiken minder instructies om waarden te vergelijken
- BArray-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- CGekoppelde lijsten slaan elementen altijd op schijf op
- DEen array doorlopen kost in totaal O(1), een gekoppelde lijst doorlopen O(n)
6.Gemiddeld
Een queue wordt geïmplementeerd met twee stacks: push op een "in"-stack en pop van een "out"-stack, die vanuit "in" wordt bijgevuld als hij leeg is. Wat zijn de geamortiseerde kosten per bewerking?
- AO(n²)
- BO(1)
- CO(n)
- DO(log n)
7.Moeilijk
Waarvoor wordt de union-findstructuur gebruikt in het algoritme van Kruskal voor de minimale opspannende boom?
- ATijdens het zoeken de huidige afstand van elke knoop tot de bron opslaan
- BControleren of de twee eindpunten van een kant al verbonden zijn
- CDe beginknoop kiezen
- DDe kanten op gewicht sorteren
8.Moeilijk
De union-find-structuur (disjoint set) met union by rank en padcompressie heeft geamortiseerde kosten per bewerking van:
- AO(α(n)), de inverse Ackermann-functie, die in de praktijk constant is
- BPrecies O(log n)
- CO(n²)
- DO(n)
Antwoordenblad
- 1. B · Beeldt een sleutel af op een index in de tabel
- 2. D · Een structuur die invoegen en verwijderen aan beide uiteinden toestaat
- 3. C · Knopen (vertices) verbonden door kanten
- 4. D · O(V + E)
- 5. B · Array-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- 6. B · O(1)
- 7. B · Controleren of de twee eindpunten van een kant al verbonden zijn
- 8. A · O(α(n)), de inverse Ackermann-functie, die in de praktijk constant is
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.