Tweede Toets Datastructuren 28 juni 2017, , Educ-β.
|
|
- Linda Coppens
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Tweede Toets Datastructuren 28 juni 2017, , Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert en beantwoord de vraag zoals je hem begrijpt. Cijfer: Elke vraag is 2pt. Cijfer T2 is totaal plus 0,5 gedeeld door 1,35. Maak vraag 1 en 2 op pagina 1, 3 en 4 op pagina 2, 5 en 6 op pagina 3 en vraag 7 op de achterkant. 1. Binaire Fruitmand: Floris gebruikt een uint fm om een deelverzameling van 30 fruitsoorten op te slaan. De i de bit van fm staat op true wanneer element i aanwezig is. (a) Geef een instructie die object i toevoegt (of niets doet als i er al is) in O(1) tijd. (b) Floris schrijft de instructie fm &= (~ 1) << i; om fruit i te verwijderen. Waarom klopt deze niet en hoe moet het wel? Oplossing: (a) fm = (1 << i);. (b) Als je de 1 eerst inverteert en dan i naar links shift, komen er achter de bedoelde 0 nog i nullen te staan. Gevolg is dat alle fruitstukken 0 t/m i verdwijnen. Je moet eerst shiften en dan inverteren, dus zo: fm &= ~ (1 << i);. Beoordeling/Toelichting: Per vraag 1pt. Beoordelingscodes: D = fm = ~ ( ~ fm (1 << i)) werkt natuurlijk ook, maar is vrij omslachtig wegens Dubbele negatie. E = Fruit nummeren vanaf Een en bits vanaf 0 is onlogisch. N = ~ 1 is niet 0 (maar 2). P = De instructie fm += (1 << i); gaat mis als i al aanwezig is. Kost halve punt evenals verwijderen met -. T = Test if (fm & (1<<i) == 0) is overbodig. X = Xor is minder goed want doet het omgekeerde als de bit al goed staat.
2 2. Stack met Pointers: Een pointer-implementatie van de stack bevat in elke node een stack-element en een pointer naar een andere node (evt. null). (a) Als de Node met element x een pointer naar de Node met y heeft, is x dan eerder of later dan y toegevoegd aan de stack? Waarom? (b) Geef de naam en pseudocode van de methode die element z toevoegt aan de stack. Oplossing: (a) Nodes in een stack hebben pointers naar oudere knopen, dus in dit geval is x later toegevoegd. (b) void Push(T z) { top = new Node(z, top); } is al genoeg als de constructor voor Node deze twee argumenten invult als key en next. Beoordeling/Toelichting: Per deelvraag een punt, totaal 2. Codes: A = Implementaties in Array (of List) zijn niet goed. B = y moet wel ouder zijn want anders kan x geen pointer hebben is een onjuist argument, immers in een Queue hebben nodes juist wel een pointer naar nieuwere nodes, dus het kan wel. C = Je moet een node creëren, het argument van Push is immers een key en geen node. P = Dat toevoegen Push heet moet je weten. 3. Twee, Acht, Log en Wortel: Geef de asymptotische oplossing van (a) W (n) = 2.W (n/4) + 2 lg n, (b) X(n) = 8.X(n/4) + n n, en geef aan hoe je eraan komt. Oplossing: Dit kan allemaal met de Master Theorem. (a) Uitkomst is hier W (n) = Θ( n). Je hebt a = 2 en b = 4 dus b log a = 1 2. En f(n) = 2n 0 lg n, met macht 0 van n dus van polynomiaal lagere orde dan n 1/2. (b) Uitkomst is X(n) = Θ(n n lg n). Met a = 8 en b = 4 is b log a = 3/2, dezelfde macht als de dwangterm. Dus extra log. Beoordeling/Toelichting: Een pt per goed antwoord. Het is in alle gevallen gerechtvaardigd om het antwoord als Θ te schrijven, maar een O scoort ook.
3 4. Heap: De rij A = [12, 15, 20, 19, 17, 32, 26, 23, 21, 18, 20] is een MinHeap. Zeg stap voor stap wat er gebeurt, en geef de heap na afloop, bij: (a) Insert(18) op heap A; (b) ExtractMin() op heap A. Oplossing: (a) Er zijn eerst 11 keys en de 18 wordt op plek 12 gezet, waarna Rootify(12) wordt aangeroepen. Hij is kleiner dan zijn parent 32, ze wisselen dus en Rootify(6). Weer is 18 kleiner dan zijn parent 20, dus hij wisselt en Rootify(3). Maar 18 is nu keurig groter dan zijn parent en het is klaar. De heap nu: [12, 15, 18, 19, 17, 20, 26, 23, 21, 18, 20, 32]. (b) Bij extractmin wordt A[1], dus 12, verwijderd en bewaard om opgeleverd te worden. De plek wordt opgevuld met de laatste key, 20, en Heapify(1). Die 20 wisselt met kleinste kind 15, en Heapify(2). De 20 wisselt met 17 en Heapify(5). De 20 wisselt met kind 18 en klaar. Resultaat [15, 17, 20, 19, 18, 32, 26, 23, 21, 20]. Beoordeling/Toelichting: Per deelvraag een punt. Beoordelingscodes: H = Je moest de eind Heap geven en die ontbreekt. I = Argument van Heapify en Rootify is een index, niet een key. L = Na de extractmax hoort het Laatste element 20 niet meer bij de heap, al zit het er fysiek misschien nog in. N = Als je (b) NA (A) doet gebeurt dit: De plek wordt opgevuld met 32, en Heapify(1). Hierin wisselt 32 met z n kleinste kind 15, plus Heapify(2). Weer wisselt 32 met kleinste kind, 17, plus Heapify(5). Weer wisselt 32 met kleinste kind, 18, plus Heapify(10). Hieronder geen kinderen dus klaar. Heap nu: [15, 17, 18, 19, 18, 20, 26, 23, 21, 32, 20]. S = De keys Schuiven niet naar links bij het verwijderen van A[1]!! Dat zou de heapstructuur totaal verprutsen. V = Je moet het gat in A[1] meteen opvullen met het laatste element. Een Verkeerde manier is, A[1] weg te halen en dan steeds het gat op te vullen met het kleinste kind. Dit geeft onderin een lelijk gat, en opvullen met het laatste element is niet per sé correct. Deze manier gaf in dit voorbeeld dezelfde uitkomst maar werd uiteraard niet goed gerekend.
4 5. Zoeken in Hashtabel: In een hashtabel (met chaining) heeft succesvol zoeken een andere analyse dan succesloos zoeken. Ga uit van een hashtabel met n keys en m lijsten, en load factor α = n/m. (a) Bij welk van deze twee gevallen druk je de zoektijd uit in de gemiddelde lijstlengte? Geef een uitdrukking voor de zoektijd. (b) Bij welk van de twee gevallen hangt de zoektijd af van het gemiddelde kwadraat van de lijstlengte? Leg uit waarom. Oplossing: (a) Bij de succesloze zoekactie. Je moet daar een van de lijsten, een willekeurige, doorlopen (om te constateren dat je key niet voorkomt). De tijd is O(1 + α). (b) Bij de succesvolle zoekactie wordt elke voorkomende key met gelijke kans gevraagd. Je zoekt dus in een lijst van gemiddelde lengte, waarbij je echter niet direct middelt over de lijsten, maar over de keys. Dat betekent dat bij een lijst met l elementen, deze lengte l ook l keer meeweegt in het gemiddelde. Het relevante gemiddelde is dus 1 m i (l2 i ). Beoordeling/Toelichting: Ruwweg een punt per deelvraag, maar in combinatie beoordeeld. Beoordelingscodes: A = Je hebt Alleen de match goed (van de twee gemiddelden op de twee gevallen). Verder geen zinvolle en correcte uitleg: 1/2pt. α = De 1 hoort er echt bij in O(1 + α). Je kunt de zoektijd niet willekeurig klein maken door α te verlagen, omdat de hash ook berekend moet worden. De uitdrukking O(α) voor de succesloze zoektijd is daarom strikt genomen niet juist. Omdat zeer kleine waarden van α meestal vermeden worden, is O(α) toch als F meegerekend. D = Succesvol Duurt langer is niet persé juist, omdat je (gemiddeld) halverwege de lijst stopt. F = De match is goed en de Formule voor de tijd bij (a): 1pt. G = Geen Goeie match gemaakt: 0pt. L = Bij succesloos Loop je alle lijsten af : Gelukkig niet zeg! T = ZoekTijd O(n) of O(n + m): zo traag is een hashtabel gelukkig niet! U = Uitleg te vaag, incompleet, onjuist of ontbrekend.
5 6. Meer dan x: Geef een methode Tree meerdan(tree t, key x) die, voor key x en binaire zoekboom t, de kleinste waarde y in t zoekt die strikt groter dan x is. Lever een pointer naar de knoop waar y zit, of null als er geen key > x is. Oplossing: Dit kan recursief (en zonder parent-pointers). Recursie is niet alleen een programmeertechniek, maar ook een denkwijze. Zie de boom niet als een wirwar van knopen met pijlen ertussen, maar als (1) een lege boom null of (2) een knoop met daarin een key t.key met een deelboom met kleinere keys en een deelboom met grotere keys. Een lege boom heeft geen key dus levert null. Als t.key kleinergelijk x is, zal de meerdan van x uit de rdb moeten komen. Als t.key groter dan x is, kan t het antwoord zijn, maar alleen als de ldb geen betere kandidaat levert: Tree meerdan(tree t, key x): { if (t == null) return t; if (x >= t.key) return meerdan(t.right, x); Tree ml = meerdan(t.left, x); if (ml == null) return t; else return ml; } Beoordeling/Toelichting: Voor een goede oplossing 2pt. Beoordelingscodes: C = Crasht op lege boom. Bedenk dat de invoerboom als geheel leeg kan zijn, en dat je met recursieve aanroepen meestal uiteindelijk in een lege boom uitkomt. D = Vermijd Dubbel berekenen door de laatste twee regels te vervangen door if (meerdan(t.left, x) == null) return t; else return meerdan(t.left, x); Je bedoelt t waarschijnlijk goed, maar als er een pad naar links van lengte h is, en x is kleiner dan alle keys, kost dit geintje Ω(2 h ) tijd! E = Enumeratie van alle keys, lineaire oplossing. 0pt. F = Het gaat Fout als je zondermeer naar de ldb gaat als x < t.key. Misschien heeft de ldb geen keys > x, en in dat geval moet je t opleveren. H = Een lineaire opossing kan niet Hoger dan 1pt scoren. I = Een Iteratieve oplossing kan maar is vrij lastig! Het kan zijn dat je op een zeker punt naar links gaat (omdat x < t.key) maar in die deelboom geen grotere key dan x vindt. Dan moet je terugvallen op t. Je zult dan parent-pointers moeten gebruiken (zie P) of je moet tijdens je tocht omlaag de goeie key onthouden (zie T). L = if (t.key > x) return t; is onjuist, de ldb kan een betere waarde hebben. M = Minimum uit de rdb van de knoop met x; incompleet want (1) x hoeft niet eens voor te komen en (2) die rdb kan leeg zijn en dan moet je een knoop boven x hebben. N = Behandelen van null als een mogelijke boom in je methode (dus branchen op (t == null) aan het begin) is veel beter dan lege deelbomen op diverse plekken als speciaal geval afhandelen. Het laatste kost 1/2pt. Als je het goed aanpakt, crast je programma alleen op een geheel lege input, en niet op lege deelbomen (dus bladen in je boom). P = Iteratieve oplossing met Parent pointers: zoek naar x, en vanaf x of een blad, volg de Successor procedure van Cormen. R = Levert t op als x < t.key en t.left.key < x. Onjuiste waarde, want t.left kan nog een rechterdeelboom hebben waarin keys voorkomen die nog dichter op x zitten. T = Daal af in de boom tot je x ziet of een blad, onthoud onderweg de kleinste overtreffer die je Tegenkwam.
6 7. Recurrente betrekking: Los op: a 0 = 1, a 1 = 2, a n = 4a n 1 3a n 2. Oplossing: Stel het karakteristieke polynoom op: x 2 4x + 3. Nulpunten vind je met de ABC formule: α 1 = 1 en α 2 = 3. De Algemene Oplossing is dus a n = C.1 n + D.3 n. Gebruik de gegeven waarden voor n = 0 en n = 1 en stel op: C + D = 1 en C + 3D = 2. Trek de eerste vergelijking af van de tweede en zie 2D = 1 dus D = 1/2. Met de eerste vgl geeft dit C = 1/2. Oplossing a n = 1 2 (1 + 3n ). (Controleer met de eerste waarden: 1, 2, 5, 14, 41. Klopt!) Beoordeling/Toelichting: Voor een goede oplossing 2pt. Codes: A = Kom je t/m de Algemene Oplossing a n = C.1 n + D.3 n, 1pt. C = Controleer je uitkomst! Het kost je maar 10 seconden om met de gegevens de eerste vijf waarden van a te berekenen: 1, 2, 5, 14, 41. Vul dan 2 t/m 4 in in je oplossing en zie dat 1 ( ), 1( ) en 1( ) respectievelijk 2, 14 en 41 zijn. Geen zichzelfrespecterende wiskundige zou dit als een bewijs voor de juistheid van de formule accepteren. Maar als je graag een correcte formule inlevert, is dit een handig truukje om 99% van de foute antwoorden te ontmaskeren. K = Vind je de Karakteristieke Wortels 1 en 3, maar geen AO, 0pt. M = Een Minteken in de AO, ja, dat kan natuurlijk ook. Na het vinden van 1 en 3 als KW schrijf je dan: a n = C.1 n D.3 n. Je kunt nu jouw C en D correct oplossen en je vindt dan natuurlijk C = 1 en D = 1. Helaas verdubbelt elk minteken de kans op fouten! Een 2 2 aantal kandidaten vonden deze vorm van de AO, maar het oplossen van de coëfficienten werd meestal door rekenfouten verprutst.
Tweede Toets Datastructuren 26 juni 2019, , Educ-β.
Tweede Toets Datastructuren 26 juni 2019, 17.00 19.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert
Nadere informatieTweede Toets Datastructuren 29 juni 2016, , Educ-Γ.
Tweede Toets Datastructuren 29 juni 2016, 13.30 15.30, Educ-Γ. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe
Nadere informatieOpgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep.
Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht
Nadere informatieOpgaven Heaps Datastructuren, 8 juni 2018, Werkgroep.
Opgaven Heaps Datastructuren, 8 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven.
Nadere informatieTweede Toets Datastructuren 27 juni 2018, , Olympos Hal 2.
Tweede Toets Datastructuren 27 juni 2018, 13.30 15.30, Olympos Hal 2. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag
Nadere informatieOpgaven Zoekbomen Datastructuren, 20 juni 2018, Werkgroep.
Opgaven Zoekbomen Datastructuren, 20 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven.
Nadere informatieDatastructuren en Algoritmen
Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen
Nadere informatieOpgaven Zoekbomen Datastructuren, 15 juni 2016, Werkgroep.
Opgaven Zoekbomen Datastructuren, 15 juni 2016, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven.
Nadere informatieOpgaven Abstracte Datastructuren Datastructuren, Werkgroep, 31 mei 2017.
Opgaven Abstracte Datastructuren Datastructuren, Werkgroep, 31 mei 2017. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes
Nadere informatieEerste Toets Datastructuren 22 mei 2019, , Educ-β en Megaron.
Eerste Toets Datastructuren 22 mei 209, 3.30 5.30, Educ-β en Megaron. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag
Nadere informatieCombinatoriek groep 1 & 2: Recursie
Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieElfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort
Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D
Nadere informatieUitwerking tentamen Algoritmiek 9 juni :00 17:00
Uitwerking tentamen Algoritmiek 9 juni 2015 14:00 17:00 1. Clobber a. Toestanden: m x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal O gelijk aan het aantal X of er is hooguit één
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieUitwerking tentamen Algoritmiek 10 juni :00 13:00
Uitwerking tentamen Algoritmiek 10 juni 2014 10:00 13:00 1. Dominono s a. Toestanden: n x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal X gelijk aan het aantal O of hooguit één hoger.
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3
Nadere informatieUitwerking tentamen Algoritmiek 9 juli :00 13:00
Uitwerking tentamen Algoritmiek 9 juli 0 0:00 :00. (N,M)-game a. Toestanden: Een geheel getal g, waarvoor geldt g N én wie er aan de beurt is (Tristan of Isolde) b. c. Acties: Het noemen van een geheel
Nadere informatieEerste Toets Datastructuren 11 juli 2018, , Educ-α.
Eerste Toets Datastructuren 11 juli 2018, 13.30 15.30, Educ-α. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieTweede college complexiteit. 12 februari Wiskundige achtergrond
College 2 Tweede college complexiteit 12 februari 2019 Wiskundige achtergrond 1 Agenda vanmiddag Floor, Ceiling Rekenregels logaritmen Tellen Formele definitie O, Ω, Θ met voorbeelden Stellingen over faculteiten
Nadere informatieDatastructuren Uitwerking jan
Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieOpgaven Registers Concurrency, 29 nov 2018, Werkgroep.
Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Gebruik deze opgaven om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven. 1. Safe Integer: Van een
Nadere informatieTweede college algoritmiek. 12 februari Grafen en bomen
College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)
Nadere informatieOpgaven Fibonacci-getallen Datastructuren, 23 juni 2017, Werkgroep.
Opgaven Fibonacci-getallen Datastructuren, 3 juni 017, Werkgroep Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege Cijfer: Op een toets krijg je meestal zes tot acht
Nadere informatieAlgoritmiek. 15 februari Grafen en bomen
Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van
Nadere informatieTweede Toets Concurrency 2 februari 2017, , Educ-β.
Tweede Toets Concurrency 2 februari 2017, 8.30 10.30, Educ-β. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Priority queue Priority queue ADT insert(q, x): voeg element x toe aan de queue maximum(q):
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2017
Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.
Nadere informatieOpgaven Eigenschappen van Getallen Security, 2018, Werkgroep.
Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht
Nadere informatieEerste Toets Concurrency 20 december 2018, , Educ-β.
Eerste Toets Concurrency 20 december 2018, 11.00 13.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert
Nadere informatieDivide & Conquer: Verdeel en Heers vervolg. Algoritmiek
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:
Nadere informatieOpgaven Recursie: Analyse en Master Theorem Datastructuren, 6 juni 2018, Werkgroep.
Opgaven Recursie: Analyse en Master Theorem Datastructuren, 6 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je
Nadere informatieLineaire data structuren. Doorlopen van een lijst
Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn
Nadere informatieVierde college algoritmiek. 23/24 februari Complexiteit en Brute Force
Algoritmiek 2017/Complexiteit Vierde college algoritmiek 23/24 februari 2017 Complexiteit en Brute Force 1 Algoritmiek 2017/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2005 2006, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Splaybomen
Nadere informatieCombinatoriek groep 2
Combinatoriek groep 2 Recursie Trainingsdag 3, 2 april 2009 Homogene lineaire recurrente betrekkingen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een
Nadere informatieAmorized Analysis en Union-Find Algoritmiek
Amorized Analysis en Union-Find Vandaag Amortized analysis Technieken voor tijdsanalyse van algoritmen Union-find datastructuur Datastructuur voor operaties op disjuncte verzamelingen Verschillende oplossingen
Nadere informatieCombinatoriek groep 1
Combinatoriek groep 1 Recursie Trainingsweek, juni 009 Stappenplan homogene lineaire recurrente betrekkingen Even herhalen: het stappenplan om een recurrente betrekking van orde op te lossen: Stap 1. Bepaal
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 30 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Dynamische verzamelingen Stack implementaties Array met maximale grootte Linked List
Nadere informatieCombinatoriek groep 1
Combinatoriek groep 1 Recursie Trainingsdag 3, 2 april 2009 Getallenrijen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een directe formule geeft a n in
Nadere informatiePracticumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Nadere informatieTwaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify
Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatieVierde college complexiteit. 14 februari Beslissingsbomen
College 4 Vierde college complexiteit 14 februari 2017 Restant zoeken Beslissingsbomen 1 Binair zoeken Links := 1; Rechts := n; while Links Rechts do Midden := Links + Rechts 2 ; if X = A[Midden] then
Nadere informatieProgrammeren in C++ Efficiënte zoekfunctie in een boek
Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieEerste Toets Datastructuren 25 mei 2018, , Educ-Γ.
Eerste Toets Datastructuren 25 mei 2018, 11.00 13.00, Educ-Γ. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert
Nadere informatieEen gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
Nadere informatieExamen Discrete Wiskunde donderdag 7 maart, 2019
Examen Discrete Wiskunde 2018-2019 donderdag 7 maart, 2019 De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Gebruik hiervoor de ruimte onder de vraag; er is in principe genoeg
Nadere informatieGrafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.
Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee
Nadere informatieDiscrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 22 februari 2009 INDUCTIE & RECURSIE Paragrafen 4.3-4.6 Discrete Structuren Week 3:
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:
Nadere informatieGoed aan wiskunde doen
Goed aan wiskunde doen Enkele tips Associatie K.U.Leuven Tim Neijens Katrien D haeseleer Annemie Vermeyen Maart 2011 Waarom? Dit document somt de belangrijkste aandachtspunten op als je een wiskundeopgave
Nadere informatieAlgoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen
Universiteit Twente 2009-2010/2 Afdeling Informatica, Faculteit EWI Tentamen dinsdag 19 januari 2010, 8.45-12.15 Algoritmen, Datastructuren en Complexiteit (214020 en 214025) Uitwerkingen Bij dit tentamen
Nadere informatieOpgaven QuickSort 3 mei 2019, Werkgroep, Datastructuren.
Opgaven QuickSort 3 mei 2019, Werkgroep, Datastructuren. Als je klaar bent, maak dan de opgaven van vorige keer af. Cijfer: Op een toets krijg je meestal zes tot acht opgaven. 1. Doe QuickSort: Voer QuickSort
Nadere informatieOefententamen in2505-i Algoritmiek
TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Oefententamen in2505-i Algoritmiek Maart 2007 Het gebruik van boek of aantekeningen tijdens dit tentamen is niet toegestaan.
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 9 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Zoekbomen Binaire boom Bestaat uit knopen Beginknoop is de wortel (root) Elke knoop heeft
Nadere informatieExamen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2.
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Nadere informatieExamencursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO kan niet korter
Voorbereidende opgaven VWO Examencursus wiskunde A Tips: Maak de voorbereidende opgaven voorin in een van de A4-schriften die je gaat gebruiken tijdens de cursus. Als een opdracht niet lukt, werk hem dan
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatieDiscrete Wiskunde, College 7. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 7 Han Hoogeveen, Utrecht University Sommatiefactor methode (niet in boek) Doel: oplossen van RBs als Basisidee: f n a n = g n a n 1 + c n ; 1 Vermenigvuldig de RB met een factor
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 9 december 2015 Foreach String arrays Boomstructuren Interfaces Ingebouwde datastructuren Quiz Foreach Foreach Speciale versie van for om iets voor alle elementen
Nadere informatieDerde college algoritmiek. 23 februari Complexiteit Toestand-actie-ruimte
Algoritmiek 2018/Complexiteit Derde college algoritmiek 2 februari 2018 Complexiteit Toestand-actie-ruimte 1 Algoritmiek 2018/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:
Nadere informatieOpgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.
Opgaven Analyse van Algoritmen 10 mei 019, Datastructuren, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot
Nadere informatieExamen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni 2011
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2010-2011 21 juni 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief
Nadere informatieOefentoets uitwerkingen
Vak: Wiskunde Onderwerp: Hogere machtsverb., gebr. func=es, exp. func=es en logaritmen Leerjaar: 3 (206/207) Periode: 3 Oefentoets uitwerkingen Opmerkingen vooraf: Geef je antwoord al=jd mét berekening
Nadere informatieDoorzoeken van grafen. Algoritmiek
Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth
Nadere informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieDiscrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren
Nadere informatieOefeningen voor de oefeningenles. Oefening 1
Oefeningen voor de oefeningenles Oefening 1 Gegeven een arbitraire binaire zoekboom T met n toppen en een (andere of gelijke) binaire zoekboom T die ook n sleutels bevat. Beschrijf een algoritme dat in
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden : stapels, rijen en binaire bomen Walter Kosters week 12: 26 30 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 en Vierde programmeeropgave Othello programmeren we als volgt:
Nadere informatieTree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011
15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree
Nadere informatieKortste Paden. Algoritmiek
Kortste Paden Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd s algoritme) Dijkstra s algoritme voor Single Source Negatieve
Nadere informatieTweede Toets Security 9 november 2016, , Educ-α.
Tweede Toets Security 9 november 2016, 8.30 10.30, Educ-α. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je
Nadere informatieVragen over algebraïsche vaardigheden aan het eind van klas 3 havo/vwo
Bijlage 7 Vragen over algebraïsche vaardigheden aan het eind van klas 3 havo/vwo Deze vragen kunnen gebruikt worden om aan het eind van klas 3 havo/vwo na te gaan in hoeverre leerlingen in staat zijn te
Nadere informatie1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12
Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal
Nadere informatieOnafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms
Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie
Nadere informatieDiscrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:
Nadere informatieDerde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte
Algoritmiek 2019/Complexiteit Derde college algoritmiek 22 februari 2019 Complexiteit Toestand-actie-ruimte 1 Algoritmiek 2019/Complexiteit Opgave 1 bomenpracticum Niet de bedoeling: globale (member-)variabele
Nadere informatieOpgaven Stacks, Lijsten, Queues Datastructuren, Werkgroep, 2 juni 2017.
Opgaven Stacks, Lijsten, Queues Datastructuren, Werkgroep, 2 juni 2017. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes
Nadere informatieDatastructuren Uitwerking jan
Datastructuren Uitwerking jan 16 1 1a) Een ADT wordt gekenmerkt door de opgeslagen gegevens en de beschikbare operaties. De Priority Queue bevat en verzameling elementen waarbij elk element en eigen waarde
Nadere informatie1.3 Rekenen met pijlen
14 Getallen 1.3 Rekenen met pijlen 1.3.1 Het optellen van pijlen Jeweetnuwatdegetallenlijnisendat0nochpositiefnochnegatiefis. Wezullen nu een soort rekenen met pijlen gaan invoeren. We spreken af dat bij
Nadere informatieElementary Data Structures 3
Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer
Nadere informatieStoomcursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO ( ) = = ( ) ( ) ( ) = ( ) ( ) = ( ) = = ( )
Voorbereidende opgaven VWO Stoomcursus wiskunde A Tips: Maak de voorbereidende opgaven voorin in een van de A4-schriften die je gaat gebruiken tijdens de cursus. Als een opdracht niet lukt, werk hem dan
Nadere informatieOpgaven Binair Zoeken en Invarianten Datastructuren, 4 mei 2016, Werkgroep.
Opgaven Binair Zoeken en Invarianten Datastructuren, 4 mei 2016, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal
Nadere informatieDerde college complexiteit. 7 februari Zoeken
College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande
Nadere informatie