De snelste route op een kaart is alleen bruikbaar als elke verbinding werkelijk berijdbaar is.
Hoe lees je een opdracht?
Drie tredenOefenenToepassenUitdagen
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).
a
Volg binair zoeken naar 13 en naar 8. Geef l, r en m na elke stap.
b
Formuleer de invariant en verklaar waarom m+1 nodig is in de rechterhelft.
34.2
Groeiklasse kiezen
Oefenen6Begrijpen25 min
Een programma doet 8n+20 stappen; een ander n2+3n.
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.
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.
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.
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.
Kanten zijn berijdbare verbindingen; getallen zijn modelafstanden in meter, geen schaaltekening van de gang.
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.
a
Ontwerp een meetprotocol dat invoervorm, n, herhalingen en geheugen omvat. Geef een analyse die toevallige ruis van groei onderscheidt.
Zo wordt dit beoordeeld
reproduceerbaarheid
Vaste invoer, omgeving, ruwe tijden en script.
interpretatie
Groei 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.
Kanten zijn berijdbare verbindingen; getallen zijn modelafstanden in meter, geen schaaltekening van de gang.
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
berekening
Afstand, meettijd en reserve gescheiden.
correctheid
Alle meetpunten en terugweg gecontroleerd.
veilig gedrag
Actuele 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.
a
Verklaar het probleem en geef twee bruikbare alternatieven, inclusief een beperking.
ZelfevaluatieKleur per doel: lukt al / bijna / nog niet
Ik kan lineair en binair zoeken uitvoeren en hun voorwaarden verklaren.
Ik kan sorteeralgoritmen vergelijken met een bewerkingsmodel en O-notatie.
Ik kan recursieve functies volgen en een basisgeval en voortgang bewijzen.
Ik kan Dijkstra uitvoeren en een pad reconstrueren.
Ik kan een algoritme kiezen op basis van tijd, geheugen en worst-case eisen.