Datastructuren en Algoritmen
|
|
|
- Tine de Haan
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Datastructuren en Algoritmen Tentamen Vrijdag 6 november Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen gebruikt worden. Probeer de antwoorden zo precies mogelijk te geven, wanneer gevraagd wordt naar een aantal hoeft dit niet altijd per se een getal te zijn. Wiskundige operaties zoals bijvoorbeeld of log mogen in het antwoord blijven staan, maar probeer deze wel zoveel mogelijk te simplificeren. Het tentamen bestaat uit 6 vragen met in totaal 15 deelvragen. Tussen haakjes is aangegeven hoe zwaar elke deelvraag meeweegt voor het cijfer, er zijn in totaal 100 punten te verdienen. 1. Mirrored insertion sort Insertion sort (Figure 1) is een vergelijkingsgebaseerd sorteeralgoritme waarbij de elementen één voor één in de gesorteerde prefix van de lijst worden ingevoegd. Om te bewijzen dat het algoritme correct sorteert, kun je de loop-invariant gebruiken dat na i iteraties de eerste i elementen in oplopende volgorde staan. In deze opgave kijken we naar mirrored insertion sort, waarbij we de elementen van rechts naar links behandelen, en één voor één op de juiste plek invoegen in de gesorteerde suffix. We spiegelen het algoritme dus door niet aan de linkerkant van de lijst een gesorteerde sublijst op te bouwen, maar juist aan de rechterkant. Hiermee sorteren we nog wel steeds in oplopende volgorde. (10) (a) Geef, in pseudocode, een implementatie van mirrored insertion sort. insertion-sort(a) 1 for j = 2 to A.length 2 key = A[j] 3 / Voeg A[j] aan de gesorteerde rij A[1.. j 1] toe 4 i = j 1 5 while i > 0 and A[i] > key 6 A[i + 1] = A[i] 7 i = i 1 8 A[i + 1] = key Figure 1: Insertion sort zoals in het college behandeld. 1
2 mirrored-insertion-sort(a) 1 for j = A.length 1 downto 1 2 key = A[j] 3 i = j while i A.length and A[i] < key 5 A[i 1] = A[i] 6 i = i A[i 1] = key (5) (b) Bewijs met behulp van een loop invariant de correctheid van het algoritme. Schrijf in elk geval de invariant op, een bewijs voor de initialization en maintenance stappen, en de conclusie. (beknopt, maximaal 15 zinnen) Loop invariant: aan het begin van iteratie j is de subarray A[j + 1..A.length] gesorteerd Initialization: j begint bij A. length 1, dus de subarray A[A. length A. length] = A[A. length..a. length] bestaat uit één element en is dus altijd gesorteerd. Maintenance: de index i gaat van j + 1 tot aan A.length, wat precies het gesorteerde deel van de lijst is. Elk element wordt 1 positie naar links geschoven wanneer het element kleiner is dan de waarde op positie j. Na de loop is i de positie van het eerste element dat groter is, en het element van positie j wordt dan dus op i 1 ingevoegd, waardoor de subarray A[j + 1..A.length] weer gesorteerd is. Termination: de loop termineert gegarandeerd na het vastgelegde aantal iteraties. Dat is bij j = 0, waardoor de loop invariant geeft dat A[ A.length] = A[1..A. length] gesorteerd is. De conclusie is dus dat het algoritme werkt zoals verwacht. (5) (c) Geef de asymptotische looptijd van dit algoritme en vergelijk dit met de looptijd van de normale variant van insertion sort. In het slechtste geval doet de binnenste for-loop n j stappen, dus in totaal doet het algoritme dan n j=1 n j = n2 n j=1 j = n2 (n (n 1))/2 = n 2 (n 2 n)/2 = n 2 n 2 /2 + n/2 = n 2 /2 + n/2 = O(n 2 ). Dit is hetzelfde als de normale variant van insertion sort. In het beste geval (een gesorteerde lijst) wordt de binnenste for-loop nooit uitgevoerd, en doet het algoritme dus O(n) stappen, net als de normale variant van insertion sort. Het is dus incorrect om te stellen dat het algoritme Θ(n 2 ) is. 2. Eén-tegen-100 Eén-tegen-100 is een spelshow op televisie waarbij een kandidaat het opneemt tegen 100 tegenspelers. Bij elke vraag moeten zowel de kandidaat als de tegenspelers die nog in het spel zitten een meerkeuzevraag beantwoorden. Als de kandidaat deze fout heeft ligt hij direct uit het spel. Als de kandidaat deze goed heeft, speelt hij alle tegenspelers die het fout hadden weg. Pagina 2 van 6
3 Wanneer de kandidaat alle tegenspelers heeft weggespeeld wint hij het totaal opgebouwde geldbedrag. Bij elke vraag zijn alle tegenspelers die nog in het spel zitten gezamenlijk e waard. Wanneer er nog n spelers in het spel zitten is elke speler dus e50 000/n waard, en voor elke tegenspeler die er bij die vraag uit gaat krijgt de kandidaat dat bedrag erbij. Het totaal gewonnen bedrag hangt dus af van hoeveel spelers er bij elke vraag uit gaan. Als bijvoorbeeld bij de eerste vraag 37 tegenspelers eruit gaan en bij vraag 2 de overige 63, dan wint de kandidaat dus / /63 = e (4) (a) Neem aan dat de kandidaat alle vraag goed heeft, en dus sowieso een geldbedrag wint. Dit bedrag hangt dan af van wanneer de tegenspelers eruit gaan. Wat is het slechtste geval voor de kandidaat (dus: wanneer wint hij het minst)? Wanneer hij alle spelers er in 1 ronde uit speelt wint hij /100 = e (8) (b) En wat is het beste geval (dus: wanneer wint hij het meest)? Hij wint het meest als hij elke ronde er precies 1 speler uitspeelt. Na i rondes zitten er dan nog 100 i tegenspelers in, en wint hij dus in totaal: 99 i= i = i= i 100 = i=1 1 i = H ln 100 e De speler wint dan dus ruim 2 ton (en als je het precies uitrekent en elke ronde afrondt zoals in het echte spel gebeurt kom je op e uit). (8) (c) Stel dat elke tegenspeler elke vraag met kans 1/3 fout heeft, en dat de kandidaat alle vragen goed heeft. Wat is het verwachte aantal rondes wat er gespeeld wordt voordat alle tegenspelers uit het spel zijn? We verwachten dat bij elke vraag 1/3 van de overgebleven tegenspelers de vraag fout heeft en afvalt. Er blijft bij elke ronde dus 2/3 van de tegenspelers over, dus na n rondes verwachten we dat er nog 100 ( 2 3 )n tegenspelers over zijn. De vraag is dus wat is de kleinste n waarvoor 100 ( 2 3 )n < 1. Beide kanten delen door 100 geeft 2 n 3 < Het logaritme nemen geeft n = log 2/ We verwachten dus ongeveer 11 rondes te spelen. 3. Som-product Gegeven is de volgende pseudocode: Pagina 3 van 6
4 som-product(a, p, r) 1 if p == r 2 return A[p] 3 q = (p + r)/2 4 v 1 = som-product(a, p, q) 5 v 2 = som-product(a, q + 1, r) 6 if v 1 < v 2 7 return v 1 v 2 8 else 9 return v 1 + v 2 (10) (a) Stel een recurrente betrekking op voor de looptijd van dit algoritme. Je mag gebruiken dat n = r p + 1. T (n) = { O(1) als n = 1 2T (n/2) + O(1) als n > 1 (10) (b) Los deze recurrente betrekking op met de Master theorem en geef daarmee de looptijd van dit algoritme. Uit de recurrente betrekking halen we dat a = 2, b = 2, en f(n) = 1. Dit geeft log b a = log 2 2 = 1, dus we hebben geval 1 met ɛ = 1, want f(n) = 1 = n 0 = n log b a 1. De master theorem geeft dan de looptijd Θ(n log b a ) = Θ(n 1 ) = Θ(n). 4. Hashtabel Bij deze opgave bekijken we een hashtabel van grootte m met daarin n elementen. Om botsingen te voorkomen maken we gebruik van ketens (chaining). Je mag aannemen dat de hashfunctie die gebruikt wordt perfect is. (5) (a) Hoeveel tijd kost het om alle elementen uit de hashtabel op te sommen (volgorde maakt niet uit)? Geef je antwoord in Θ notatie. Θ(n + m), want elk vakje in de hashtabel moet worden bekeken (m stappen) en elk element wat in de hashtabel moet worden bekeken (n stappen). Een andere oplossing is om te kijken naar het verwacht aantal stappen per vakje, dat is Θ(1 + α), en dat doen we voor elk vakje: Θ(m (1 + α)) = Θ(m + m α) = Θ(m + n) (want α = n/m). Meta opmerking: Enkele studenten hebben bij het woord opsommen gedacht aan sommeren. Opsommen betekent echter het één voor één opnoemen (of uitprinten) van de elementen, en heeft dus niks te maken met het berekenen van de som. Dat maakt overigens voor de looptijd niet uit, want je moet hoe dan ook elk element eenmaal bekijken. (5) (b) Is het slim om hiervoor een hashtabel te gebruiken als je een verzameling elementen hebt die je wilt opsommen? Zo ja, leg uit waarom. Zo nee, geef een voorbeeld van een datastructuur waarmee dat beter kan. Pagina 4 van 6
5 Nee, want als we bijvoorbeeld een hele grote hashtabel hebben (m = 1000) met maar 1 element erin (n = 1), dan moeten we nu in het slechtste geval alle m vakjes bekijken om het element te kunnen opsommen. Vrijwel elke andere dynamische verzameling ondersteunt het opsommen van n elementen in Θ(n), zoals bijvoorbeeld een stack, queue, linked list, of zelfs een zoekboom (zie vraag 5). 5. Zoekbomen Deze vraag gaat over gebalanceerde zoekbomen. Hierbij kun je bijvoorbeeld denken aan rood-zwart-bomen of ALV bomen; welke precies maakt voor deze vraag niet uit. (5) (a) Alle elementen uit een gebalanceerde zoekboom van grootte n kunnen op oplopende volgorde worden opgesomd door door eerst tree-minimum aan te roepen en vervolgens n 1 keer tree-successor. Hoeveel tijd kost dit? Kies een van de volgende antwoorden. A. Θ(n 2 ) B. Θ(n) C. Θ(n log n) D. Θ(n n) Θ(n) (5) (b) Leg je antwoord voor (a) kort uit. Bij het aflopen van de zoekboom op deze volgorde bezoeken we eerst het kleinste elementen ( helemaal links ), en gaan dan op volgorde steeds naar grotere elementen. Voor elke subboom (dus: voor elk van de n elementen) komen we eenmaal de subboom in, bezoeken dan eerst de volledige linker subboom, sommen we het huidige element op, bezoeken dan de volledige rechter subboom, en zijn dan klaar. Er wordt dus een constant aantal stappen per knoop gedaan, dus in totaal is dit algoritme Θ(n). Merk op dat tree-successor in het slechtste geval O(log n) stappen doet, maar dat dat slechtste geval niet alle n de keren kan voorkomen, dus een looptijd van Θ(n log n) is incorrect. 6. Spelgrafen De verschillende spelsituaties van veel bordspellen (bijvoorbeeld: vier-op-een-rij, boter-kaasen-eieren, ganzebord, dammen, schaken) kunnen worden gepresenteerd in een graaf. Elke knoop stelt dan een bepaalde stand op het bord voor (bijvoorbeeld de plekken waar de damstukken staan), en elke kant stelt een zet voor die een van de spelers doet, waarmee het bord dus in een andere stand komt. (5) (a) Zou je voor het representeren van de meeste spellen (zoals de genoemde voorbeelden) een gerichte of juist ongerichte graaf gebruiken? Leg uit waarom. Pagina 5 van 6
6 Gerichte graaf, want zetten zijn lang niet altijd omkeerbaar. (5) (b) Of de graaf cyclisch kan zijn hangt af van het type spel. Geef een voorbeeld van een spel waarbij de graaf cyclisch kan zijn en een voorbeeld van een spel waarbij de graaf geen cycles bevat. Cyclisch: mens-erger-je-niet, ganzebord (als je dood gaat begin je opnieuw), dammen (wanneer beide spelers een dam hebben kunnen zeheen en weer tussen dezelfde stand), schaken, etc. Niet-cyclisch: vier-op-een-rij, boter-kaas-en-eieren, etc. (10) (c) Twee bekende representaties voor grafen zijn de matrixrepresentatie en de lijst-vanburen-representatie. Een derde mogelijkheid is de zogenaamde impliciete representatie, waarbij de buren van elke knoop worden uitgerekend op het moment dat die nodig zijn. In het geval van spelgrafen werkt dit goed, doordat voor elke stand op het bord snel uitgerekend kan worden welke geldige zetten er zijn (en in welke stand die uitkomen). Bij het doen van een berekening over de graaf, bijvoorbeeld een breadth first search waarbij de knopen een voor een zwart gekleurd worden, levert dit echter een extra moeilijkheid op in de implementatie. Leg uit wat het probleem is en hoe dit opgelost kan worden. Het probleem is dat er geen expliciete representatie van een knoop is, en we kunnen dus ook niet zomaar een knoop zwart kleuren (want: waar slaan we op dat de knoop zwart is?). We moeten dus een andere manier hebben om te bepalen of een bepaalde stand al geweest is ( zwart gekleurd is ), dit kan bijvoorbeeld door de zwarte knopen in een hashset op te slaan (en een goede hashfunctie te verzinnen voor onze stand-op-het-bord-representatie). Pagina 6 van 6
Datastructuren 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
Tweede 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
Datastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Organisatie Website Vakwebsite: http://www.cs.uu.nl/docs/vakken/ki2v12009/ Bevat alle
Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument
Complexiteit 2019/04 College 4 Vierde college complexiteit 26 februari 2019 Beslissingsbomen en selectie Toernooimethode Adversary argument 1 Complexiteit 2019/04 Zoeken: samengevat Ongeordend lineair
Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument
Complexiteit 2017/05 College 5 Vijfde college complexiteit 21 februari 2017 Selectie Toernooimethode Adversary argument 1 Complexiteit 2017/05 Opgave 28 Gegeven twee oplopend gesorteerde even lange rijen
Datastructuren 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):
Opgaven 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
Derde 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
Minimum Opspannende Bomen. Algoritmiek
Minimum Opspannende Bomen Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee greedy algoritmen + tijd en datastructuren: Het algoritme van
Uitgebreide 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.
Vierde 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
Eerste 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
Zevende college algoritmiek. 24 maart Verdeel en Heers
Zevende college algoritmiek 24 maart 2016 Verdeel en Heers 1 Verdeel en heers 1 Divide and Conquer 1. Verdeel een instantie van het probleem in twee (of meer) kleinere instanties 2. Los de kleinere instanties
Tweede Toets Datastructuren 28 juni 2017, , Educ-β.
Tweede Toets Datastructuren 28 juni 2017, 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
Programmeermethoden. 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,
Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort
College 7 Zevende college complexiteit 17 maart 2008 Ondergrens sorteren, Quicksort 1 Sorteren We bekijken sorteeralgoritmen gebaseerd op het doen van vergelijkingen van de vorm A[i] < A[j]. Aannames:
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Datastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 14 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Willekeurig gebouwde zoekbomen Willekeurig gebouwde zoekbomen Hoogte van zoekboom met
Kortste Paden. Algoritmiek
Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor
Doorzoeken 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
Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)
College 7 Zevende college complexiteit 7 maart 2017 Mergesort, Ondergrens sorteren (Quicksort) 1 Inversies Definitie: een inversie van de permutatie A[1],A[2],...,A[n] is een paar (A[i],A[j]) waarvoor
Uitwerking tentamen Analyse van Algoritmen, 29 januari
Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Divide & 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:
Zesde college complexiteit. 19 maart Mergesort, Ondergrens sorteren Quicksort, Shellsort
College 6 Zesde college complexiteit 19 maart 2019 Mergesort, Ondergrens sorteren Quicksort, Shellsort 1 Vorige keer Voor sorteeralgoritmen gebaseerd op arrayvergelijkingen, waarbij per arrayvergelijking
Oefententamen 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.
Uitwerking 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
Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )
OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................
Eerste 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
Opgaven Kunstmatige Intelligentie 1 maart 2017
Opgaven Kunstmatige Intelligentie 1 maart 2017 Opgave 1. a. Denkt een schaakprogramma? b. Denkt een (Nederlands-Engels) vertaalprogramma? c. Denkt een C ++ -compiler? d. Denkt Watson, the IBM-computer
Algoritmen, 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
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Recursion. 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
Tweede 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
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
Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/
Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,
Datastructuren: 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)
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter [email protected] 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren
Uitwerking 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.
Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra
Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten
Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46
Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,
Algoritmiek. 2 februari Introductie
College 1 Algoritmiek 2 februari 2017 Introductie 1 Introductie -1- docent: Rudy van Vliet [email protected] assistent werkcollege: Bart van Strien [email protected] website: http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/
Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter [email protected] 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:
Opgaven 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
Algoritmiek. 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
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Datastructuren: 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:
Inleiding 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
Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search
Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben
Opgaven 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.
Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter [email protected] 22 februari 2009 INDUCTIE & RECURSIE Paragrafen 4.3-4.6 Discrete Structuren Week 3:
2 Recurrente betrekkingen
WIS2 1 2 Recurrente betrekkingen 2.1 Fibonacci De getallen van Fibonacci Fibonacci (= Leonardo van Pisa), 1202: Bereken het aantal paren konijnen na één jaar, als 1. er na 1 maand 1 paar pasgeboren konijnen
Eerste 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
Opgaven 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
Tree 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
Divide & Conquer: Verdeel en Heers. Algoritmiek
Divide & Conquer: Verdeel en Heers Algoritmiek Algoritmische technieken Trucs; methoden; paradigma s voor het ontwerp van algoritmen Gezien: Dynamisch Programmeren Hierna: Greedy Vandaag: Divide & Conquer
TW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning
Tentamen Kunstmatige Intelligentie (INFOB2KI)
Tentamen Kunstmatige Intelligentie (INFOB2KI) 12 december 2014 8:30-10:30 Vooraf Mobiele telefoons en dergelijke dienen uitgeschakeld te zijn. Het eerste deel van het tentamen bestaat uit 8 multiple-choice
recursie 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
TW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende
Programmeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Tentamen combinatorische optimalisatie Tijd:
Tentamen combinatorische optimalisatie 26-05-2014. Tijd: 9.00-11.30 Tentamen is met gesloten boek. Beschrijf bij elke opgave steeds het belangrijkste idee. Notatie en exacte formulering is van minder belang.
Inleiding 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
Examen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
Stacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Tweede 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)
Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra
College 10 Tiende college algoritmiek mei 013 Gretige algoritmen, Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle
Discrete Wiskunde, College 12. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe
Datastructuren; (Zoek)bomen
Datastructuren; (Zoek)bomen Bomen, zoekbomen, gebalanceerde zoekbomen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren; (Zoek)bomen 1 / 50 Bomen Traversal van bomen Datastructuur van
Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.
Versie 16 januari 2017 Sorteren unplugged Sorteren gebeurt heel veel. De namen van alle leerlingen in de klas staan vaak op alfabetische volgorde. De wedstrijden van een volleybal team staan op volgorde
Opgaven 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.
