1.Makkelijk
Welke datastructuur is het meest geschikt voor de functie "ongedaan maken" (undo) in een teksteditor?
- AWachtrij (queue)
- BStapel (stack)
- CGraaf
- DHash-set
2.Makkelijk
Wat doet de bewerking peek (of top) op een stack?
- AGeeft het bovenste element terug zonder het te verwijderen
- BGeeft het onderste element van de stack terug
- CVerwijdert het bovenste element en geeft het terug
- DVerwijdert alle elementen van de stack
3.Makkelijk
Wat is het belangrijkste verschil tussen een statische en een dynamische array?
- AEen dynamische array kan groeien door naar een groter geheugenblok te verhuizen
- BEen statische array kan alleen getallen opslaan
- 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
4.Gemiddeld
Waarom kan een binaire heap zonder pointers in een array worden opgeslagen?
- AHeaps bevatten nooit meer dan 100 elementen
- BHet is een complete binaire boom, dus posities volgen eenvoudige indexformules
- CArrays houden sleutels automatisch gesorteerd, dus er zijn geen pointers nodig
- DAlle sleutels in een heap zijn gelijk
5.Gemiddeld
Een in-order-doorloop van een binaire zoekboom bezoekt de sleutels in:
- AAltijd aflopende volgorde
- BVolgorde per niveau
- CInvoegvolgorde
- DOplopend gesorteerde volgorde
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?
- AEen array doorlopen kost in totaal O(1), een gekoppelde lijst doorlopen O(n)
- BArray-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- CArrays gebruiken minder instructies om waarden te vergelijken
- DGekoppelde lijsten slaan elementen altijd op schijf op
7.Moeilijk
Je wilt voor elk element van een array het volgende grotere element rechts ervan vinden, in totaal O(n) tijd. Welke structuur helpt?
- AEen queue die elk paar elementen bevat
- BEen stack die elementen bewaart die op hun antwoord wachten
- CEen binaire zoekboom die voor elk element opnieuw wordt opgebouwd
- DEen hashtabel van alle elementen
8.Moeilijk
Hoe verbetert een radix tree (gecomprimeerde trie) een gewone trie?
- AHij slaat elk woord op in een hashtabel bij de wortel in plaats van in aparte knopen
- BHij voegt ketens van knopen met één kind samen tot één kant met een string als label
- CHij sorteert de kinderen van elke knoop op frequentie
- DHij bewaart alleen de eerste letter van elk woord
Antwoordenblad
- 1. B · Stapel (stack)
- 2. A · Geeft het bovenste element terug zonder het te verwijderen
- 3. A · Een dynamische array kan groeien door naar een groter geheugenblok te verhuizen
- 4. B · Het is een complete binaire boom, dus posities volgen eenvoudige indexformules
- 5. D · Oplopend gesorteerde volgorde
- 6. B · Array-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
- 7. B · Een stack die elementen bewaart die op hun antwoord wachten
- 8. B · Hij voegt ketens van knopen met één kind samen tot één kant met een string als label
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.