1.Makkelijk
Wat is het belangrijkste verschil tussen een statische en een dynamische array?
- AEen statische array kan alleen getallen opslaan
- BEen dynamische array kan groeien door naar een groter geheugenblok te verhuizen
- CEen dynamische array slaat zijn elementen op in gekoppelde knopen zodat hij element voor element kan groeien
- DEen statische array geeft tragere toegang via de index
2.Makkelijk
Welke structuur wordt doorgaans gebruikt om een prioriteitswachtrij te implementeren?
- AEen string
- BEen ongeordende enkelvoudig gekoppelde lijst
- CEen heap
- DEen stack
3.Makkelijk
Wat zijn broer- of zusknopen (siblings) in een boom?
- AKnopen zonder kinderen
- BEen knoop en zijn ouder
- CKnopen op dezelfde diepte in verschillende subbomen
- DKnopen die dezelfde ouder hebben
4.Gemiddeld
Hoe lang duurt het om met een adjacency matrix te controleren of de kant (u, v) bestaat?
- AO(1)
- BO(E)
- CO(V)
- DO(log V)
5.Gemiddeld
Hoe wordt een nieuw element in een binaire heap ingevoegd?
- ABouw de hele heap opnieuw op
- BPlaats het in de wortel en laat het omlaag zakken (sift down)
- CPlaats het aan het eind van de array en laat het omhoog zakken (sift up) zolang het de heap-eigenschap schendt
- DVoeg het op de gesorteerde positie in door alle grotere elementen één plaats naar rechts te verschuiven
6.Gemiddeld
Hoe werkt extract-min in een binaire min-heap?
- AVerplaats het laatste element naar de wortel en laat het omlaag zakken (sift down)
- BVerwijder de wortel en schuif alle elementen één plaats naar links
- CVerwijder het laatste element van de array
- DZoek in alle bladeren naar het nieuwe minimum
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?
- AOmdat de geheugenbeheerder geheugen alleen in kwarten van een blok kan vrijgeven
- BOm herhaald vergroten en verkleinen te voorkomen als pushes en pops elkaar bij de grens afwisselen
- COmdat halveren bij de helft elementen zou kwijtraken
- DOm de array gesorteerd te houden
8.Moeilijk
Welk probleem van linear probing vermindert double hashing vooral?
- ADe noodzaak om sleutels in de tabel op te slaan
- BDe noodzaak van een hashfunctie
- CDe O(n)-kosten van het lezen van de waarde van een sleutel
- DPrimaire clustering, waarbij lange reeksen bezette plaatsen ontstaan
Antwoordenblad
- 1. B · Een dynamische array kan groeien door naar een groter geheugenblok te verhuizen
- 2. C · Een heap
- 3. D · Knopen die dezelfde ouder hebben
- 4. A · O(1)
- 5. C · Plaats het aan het eind van de array en laat het omhoog zakken (sift up) zolang het de heap-eigenschap schendt
- 6. A · Verplaats het laatste element naar de wortel en laat het omlaag zakken (sift down)
- 7. B · Om herhaald vergroten en verkleinen te voorkomen als pushes en pops elkaar bij de grens afwisselen
- 8. D · Primaire clustering, waarbij lange reeksen bezette plaatsen ontstaan
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.