← Back to CoursesStemExpert
StemExpert
Expert · Werkboek · 34. Algoritmen en complexiteit
StemExpert · Brecht Corbeel · schoolium.me
StemExpert
E34. Algoritmen en complexiteit — werkboek
EExpert · deel E7 · Informatica

Werkboek · hoofdstuk 34Algoritmen en complexiteit

Een correct programma wordt pas bruikbaar als zijn werk binnen het budget past

Je begint met bewerkingen tellen, bewijst daarna algoritmen en ontwerpt tot slot een controleerbare routeplanner.

3× oefenen3× toepassen3× uitdagen± 275 min0/9 gedaan
De snelste route op een kaart is alleen bruikbaar als elke verbinding werkelijk berijdbaar is.
De snelste route op een kaart is alleen bruikbaar als elke verbinding werkelijk berijdbaar is.
Hoe lees je een opdracht?
Drie tredenOefenen Toepassen Uitdagen

Elk hoofdstuk bouwt op: eerst oefenen (één stap, direct toepassen), dan toepassen (meerdere stappen, in een context), dan uitdagen (transfer, open problemen, andere leerlijnen erbij).

De StemExpert-schaal5

Eén moeilijkheidsschaal van 1 tot 9 over de drie niveaus heen: Fundamental loopt van 1 tot 4, Intermediate van 3 tot 7, Expert van 6 tot 9. Zo zie je dat de uitdaging van het ene niveau de oefening van het volgende is.

Oefenen

Oefenen

één stap, direct toepassen
34.1

Halveren zonder randfout

Oefenen6Analyseren25 min
De geordende array is [2, 4, 7, 9, 13, 18, 25, 31]. Gebruik [l,r).
  1. a
    Volg binair zoeken naar 13 en naar 8. Geef l, r en m na elke stap.
  2. b
    Formuleer de invariant en verklaar waarom m+1 nodig is in de rechterhelft.
34.2

Groeiklasse kiezen

Oefenen6Begrijpen25 min
Een programma doet stappen; een ander .
  1. a
    Geef de scherpste O-klasse en leg uit waarom één tijdmeting de klasse niet bewijst.
34.3

Verschuivingen tellen

Oefenen6Rekenen25 min
Invoegsorteren krijgt 1000 records in omgekeerde volgorde.
  1. a
    Bereken het aantal verschuivingen en de verhouding tot 2000 records.
Toepassen

Toepassen

meerdere stappen, in een context
34.4

Een zoekfunctie schrijven

Toepassen7Programmeren25 min
Schrijf zelf binair zoeken; de uitvoer is de eerste index bij dubbele sleutels.
  1. a
    Geef code of precieze pseudocode en tests voor lege lijst, één element, afwezig en [2,2,2].
34.5

Een recursie herstellen

Toepassen7Programmeren25 min
Faculteit wordt recursief gedefinieerd met alleen n == 1 als basisgeval.
  1. a
    Toon waarom n = 0 faalt; herstel het contract en beschrijf tijd en geheugen.
34.6

Een blokkade in de kaart

Toepassen7Analyseren25 min
Gebruik de volledige graaf uit het handboek. De kant C–D is geblokkeerd.
241525142LaadABCDE
Kanten zijn berijdbare verbindingen; getallen zijn modelafstanden in meter, geen schaaltekening van de gang.
  1. a
    Bereken de nieuwe route Laad–E en rijtijd bij 0,20 m/s. Leg uit waarom een groot gewicht minder goed is dan verwijderen.
Uitdagen

Uitdagen

transfer, open problemen, leerlijnen combineren
34.7

Een eerlijke tijdmeting

Uitdagen9Onderzoeken40 min
Je vergelijkt twee sorteerders op een laptop.
  1. a
    Ontwerp een meetprotocol dat invoervorm, n, herhalingen en geheugen omvat. Geef een analyse die toevallige ruis van groei onderscheidt.
Zo wordt dit beoordeeld
reproduceerbaarheidVaste invoer, omgeving, ruwe tijden en script.
interpretatieGroei en spreiding afzonderlijk besproken.
34.8

Een routeplanner met terugweg

Uitdagen9Habitat60 min
De voorbeeldgraaf heeft meetpunten A, C en E. De robot moet terug naar Laad. Elke meting kost 5 s; een beurt mag 120 s duren.
241525142LaadABCDE
Kanten zijn berijdbare verbindingen; getallen zijn modelafstanden in meter, geen schaaltekening van de gang.
  1. a
    Bereken een korte ronde en totaalduur; ontwerp het contract tussen Pi-planner en robot en de reactie op obstakels of netwerkuitval.
Zo wordt dit beoordeeld
berekeningAfstand, meettijd en reserve gescheiden.
correctheidAlle meetpunten en terugweg gecontroleerd.
veilig gedragActuele blokkades en communicatieverlies begrensd.
34.9

Een negatieve energiekant

Uitdagen9Ontwerpen25 min
Bij afdalen zou een robot energie terugwinnen. Iemand voert negatieve kantgewichten in Dijkstra in.
  1. a
    Verklaar het probleem en geef twee bruikbare alternatieven, inclusief een beperking.
ZelfevaluatieKleur per doel: lukt al / bijna / nog niet