|
Algoritmiek 2007
Op deze pagina staat wat informatie over de werkgroep Algoritmiek, het
practicum en de programmeeropgaven. Als er iets mist of onduidelijk is,
laat het mij weten. Zie ook de pagina
voor het vak zelf.
Het skeletprogramma staat hier. Volg de
volgende stappen om te beginnen.
- Gebruik "tar -xzvf practicum.tgz" om het skeletprogramma uit
te pakken.
- Type "cd practicum".
- Type "make" om het practicum te compileren.
- Type "sh test.sh | less" om het practicum te draaien.
- Gebruik de 'up' en 'down' pijltjestoetsen om te
scrollen en 'q' om te stoppen.
De opgaven staan hier.
Bewerk "boom.cc" om de opgaven in het practicum te verwerken. In dit
bestand staat duidelijk aangegeven van waar tot waar aanpassingen gemaakt
dienen te worden.
De liefhebbers kunnen ook zelf bomen maken om uit te proberen. Let er wel op
dat de bomen niet hoger mogen zijn dan 6 en dat de invoer een geldige
preordewandeling van een boom moet zijn. Het getal '0' is
gereserveerd voor het aangeven van een NULL pointer.
De preordestring "a00" geeft dus een boom met 'a' als wortel
en geen kinderen. De string "a0b00" geeft een boom met 'a'
als wortel en 'b' als rechterkind.
De uitwerkingen zijn hier te vinden, als
alles goed is, dan moet het programma een uitvoer hebben die sterk
hierop lijkt.
De opgave is hier te vinden. Het
inleveren moet zowel electronisch als op
papier gebeuren.
De papieren versie van het verslag met de code als bijlage kan in de daarvoor
bestemde doos (met het opschrift algoritmiek) in de postkamer (kamer 156, 1e
verdieping). De deadline is 16 maart.
Hieronder is een tabel met een paar winnende zetten voor een m bij
n chompbord. Te gebruiken om de werking van het te schrijven programma
te controleren.
| m | n |
x | y |
| 1 | 2 | 0 | 1 |
| 2 | 4 | 1 | 3 |
| 2 | 5 | 1 | 4 |
| 2 | 2 | 1 | 1 |
| 3 | 3 | 1 | 1 |
| 4 | 4 | 1 | 1 |
| 3 | 4 | 1 | 2 |
| 3 | 5 | 2 | 3 |
| 4 | 5 | 2 | 2 |
Cijfers opgave 1:
| Naam | Cijfer |
| Achnine / Cheng | 8 |
| de Bruin | 8.5 |
| van Deen | 6.5 |
| van Dijk | 6 |
| Dorsman / Wortel | 7.5 |
| Groentjes / Peymani | 7 |
| Harmsen | 5.5 |
| den Hoed / de Koning | 7.5 |
| Hoogeveen | 6.5 |
| IJsveld | 9 |
| Jin | 8 |
| Juttmann | 7.5 |
| Kasteleyn | 7.5 |
| Kwint / Schoonewille | 7.5 |
| van der Lubbe | 10 |
| Nijkamp | 5.5 |
| van Opheusden | 7 |
| Overal / Witteveen | 5.5 |
| Vis / de Zwijger | 8.5 |
| Zaaijer | 9 |
Let erop dat mensen met een 5.5 voor deze opgave een 6 krijgen, maar de
volgende keer wordt het naar een 5 afgerond.
Hier staat een werkende implementatie, deze is
gebruikt bij het nakijken.
De opgave is hier te vinden. Het
inleveren moet zowel electronisch als op
papier gebeuren.
De papieren versie van het verslag met de code als bijlage kan in de daarvoor
bestemde doos (met het opschrift algoritmiek) in de postkamer (kamer 156, 1e
verdieping). De deadline is 13 april.
Hieronder staan een paar voorbeelden van mogelijke ritten op een m
bij n bord.
Een open rit op een 4x3 bord, beginpositie (3, 1).
Een open rit op een 3x9 bord, beginpositie (2, 2).
| 23 | 26 | 3 |
14 | 17 | 20 |
5 | 8 | 11 |
| 2 | 15 | 22 | 25 | 4 | 13 |
10 | 19 | 6 |
| 27 | 24 | 1 | 16 | 21 | 18 |
7 | 12 | 9 |
Een gesloten rit op een 8x8 bord, beginpositie n.v.t.
| 1 | 16 | 31 |
36 | 3 | 18 |
21 | 34 |
| 30 | 37 | 2 | 17 | 32 | 35 |
4 | 19 |
| 15 | 64 | 61 | 38 | 47 | 20 |
33 | 22 |
| 62 | 29 | 48 | 43 | 60 | 39 |
46 | 5 |
| 49 | 14 | 63 | 56 | 45 | 42 |
23 | 40 |
| 28 | 55 | 44 | 59 | 52 | 57 |
6 | 9 |
| 13 | 50 | 53 | 26 | 11 | 8 |
41 | 24 |
| 54 | 27 | 12 | 51 | 58 | 25 |
10 | 7 |
Een gesloten rit op een 19x6 bord, beginpositie n.v.t.
| 12 | 9 | 14 |
39 | 46 | 7 |
| 15 | 44 | 11 | 8 | 37 | 40 |
| 10 | 13 | 38 | 45 | 6 | 47 |
| 43 | 16 | 55 | 48 | 41 | 36 |
| 54 | 51 | 42 | 35 | 56 | 5 |
| 17 | 58 | 53 | 62 | 49 | 34 |
| 52 | 61 | 50 | 57 | 4 | 63 |
| 59 | 18 | 69 | 64 | 33 | 30 |
| 68 | 65 | 60 | 31 | 70 | 3 |
| 19 | 72 | 67 | 76 | 29 | 32 |
| 66 | 79 | 74 | 71 | 2 | 77 |
| 73 | 20 | 83 | 78 | 75 | 28 |
| 82 | 87 | 80 | 97 | 84 | 1 |
| 21 | 100 | 85 | 88 | 27 | 98 |
| 86 | 81 | 96 | 99 | 114 | 89 |
| 101 | 22 | 113 | 90 | 103 |
26 |
| 112 | 95 | 102 | 105 | 108 |
91 |
| 23 | 106 | 93 | 110 | 25 |
104 |
| 94 | 111 | 24 | 107 | 92 |
109 |
Cijfers opgave 2:
| Naam | Cijfer |
| Achnine / Cheng | 9 |
| de Bruin | 6.5 |
| van Deen | 9.5 |
| van Dijk | * |
| Dorsman / Wortel | 7 |
| Groentjes / Peymani | 6 |
| Harmsen | * |
| den Hoed / de Koning | 6.5 |
| Hoogeveen | 6 |
| IJsveld | 9.5 |
| Jin | 8.5 |
| Juttmann | 9 |
| Kasteleyn | 7 |
| Kwint / Schoonewille | 7.5 |
| van der Lubbe | 9 |
| Nijkamp | 7 |
| van Opheusden | 8.5 |
| Overal / Witteveen | v |
| Vis / de Zwijger | 10 |
| Zaaijer | 9 |
* : Nog niet volledig ingeleverd.
v : Goedgekeurd.
Hier staat een werkende implementatie, deze is
gebruikt bij het nakijken. Dit is een versie uit mijn eigen studie.
De opgave is hier te vinden. Het
inleveren moet zowel electronisch als op
papier gebeuren.
De papieren versie van het verslag met de code als bijlage kan in de daarvoor
bestemde doos (met het opschrift algoritmiek) in de postkamer (kamer 156, 1e
verdieping). De deadline is 21 mei.
Hieronder staan een aantal invoerbestanden en de antwoorden.
Cijfers opgave 3:
| Naam | Cijfer |
| Achnine / Cheng | 7 |
| de Bruin | 6.5 |
| van Deen | 9.5 |
| van Dijk | * |
| Dorsman / Wortel | 7.5 |
| Groentjes / Peymani | * |
| Harmsen | * |
| den Hoed / de Koning | 5.5 |
| Hoogeveen | * |
| IJsveld | 10 |
| Jin | 7 |
| Juttmann | v |
| Kasteleyn | 8 |
| Kwint / Schoonewille | 8.5 |
| van der Lubbe | 9 |
| Nijkamp | 9.5 |
| van Opheusden | 9 |
| Overal / Witteveen | v |
| Vis / de Zwijger | 10 |
| Zaaijer | 10 |
* : Nog niet volledig ingeleverd.
v : Goedgekeurd.
Hier staat een werkende implementatie, deze is
gebruikt bij het nakijken.
|