Werkblad Datastructuren met antwoorden

Gratis printbaar werkblad Datastructuren: 8 opgaven van makkelijk tot tentamenniveau, met antwoordenblad. Print het of sla het op als pdf.

Nieuw werkbladOnline oefenen met hints

Voor docenten: gratis te printen, kopiëren en in de les te gebruiken. Elk nieuw werkblad heeft nieuwe waarden en een eigen antwoordblad. Een link naar ExamProblems op je cursuspagina wordt gewaardeerd.

Naam: ____________________   Datum: ____________

1.Makkelijk

Wat wordt in een representatie als adjacency list (buurlijst) van een graaf per knoop opgeslagen?

  1. AEen rij van V Booleaanse waarden
  2. BHet totale aantal kanten in de graaf
  3. CEen lijst van de buurknopen
  4. DHet kortste pad naar elke andere knoop
2.Makkelijk

Wat doet een hashfunctie in een hashtabel?

  1. ATelt hoeveel sleutels er zijn opgeslagen
  2. BVersleutelt de waarden in de tabel
  3. CBeeldt een sleutel af op een index in de tabel
  4. DSorteert de sleutels in de tabel
3.Makkelijk

Wat is het bepalende kenmerk van een set (verzameling) als abstract datatype?

  1. AZe staat alleen toegang aan één uiteinde toe
  2. BZe slaat elementen gesorteerd op
  3. CZe slaat elementen op zonder duplicaten
  4. DZe slaat sleutel-waardeparen op
4.Gemiddeld

Een knoop in een binaire zoekboom heeft een rechtersubboom. Waar staat zijn inorder-opvolger?

  1. ADe meest linkse knoop van zijn rechtersubboom
  2. BAltijd zijn ouder
  3. CAltijd zijn rechterkind
  4. DDe meest rechtse knoop van zijn linkersubboom
5.Gemiddeld

Hoe wordt een nieuw element in een binaire heap ingevoegd?

  1. APlaats het in de wortel en laat het omlaag zakken (sift down)
  2. BPlaats het aan het eind van de array en laat het omhoog zakken (sift up) zolang het de heap-eigenschap schendt
  3. CBouw de hele heap opnieuw op
  4. DVoeg het op de gesorteerde positie in door alle grotere elementen één plaats naar rechts te verschuiven
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?

  1. AEen array doorlopen kost in totaal O(1), een gekoppelde lijst doorlopen O(n)
  2. BArrays gebruiken minder instructies om waarden te vergelijken
  3. CArray-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
  4. DGekoppelde lijsten slaan elementen altijd op schijf op
7.Moeilijk

Je moet uit een stroom van n getallen de k kleinste waarden bewaren met O(k) geheugen. Welke aanpak werkt in O(n log k) tijd?

  1. AEen gesorteerde array van alle n waarden
  2. BEen min-heap met alle n waarden, waaruit aan het eind de k kleinste worden gehaald
  3. CEen FIFO-queue van de laatste k waarden
  4. DEen max-heap van grootte k, waarvan je de wortel vervangt als er een kleinere waarde binnenkomt
8.Moeilijk

In een circulaire buffer kan front == rear zowel leeg als vol betekenen. Wat is een gangbare manier om ze te onderscheiden?

  1. AMaak de buffergrootte een macht van twee
  2. BHoud een apart aantal elementen bij, of laat altijd één plaats ongebruikt
  3. CSla front en rear op in dezelfde variabele
  4. DMaak de buffer altijd leeg als front gelijk is aan rear, zodat de toestand leeg is

Antwoordenblad

  1. 1. C · Een lijst van de buurknopen
  2. 2. C · Beeldt een sleutel af op een index in de tabel
  3. 3. C · Ze slaat elementen op zonder duplicaten
  4. 4. A · De meest linkse knoop van zijn rechtersubboom
  5. 5. B · Plaats het aan het eind van de array en laat het omhoog zakken (sift up) zolang het de heap-eigenschap schendt
  6. 6. C · Array-elementen liggen aaneengesloten, zodat ze de CPU-cache goed benutten
  7. 7. D · Een max-heap van grootte k, waarvan je de wortel vervangt als er een kleinere waarde binnenkomt
  8. 8. B · Houd een apart aantal elementen bij, of laat altijd één plaats ongebruikt

Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.