Eerste Toets Datastructuren 11 juli 2018, , Educ-α.
|
|
- Laurens Claessens
- 5 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Eerste Toets Datastructuren 11 juli 2018, , 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: Vragen 2 en 6 tellen voor 2pt en de andere voor 3pt. Te halen 16pt, T1 is totaal plus 1 gedeeld door 1,5 (max 10). Maak vraag 1 en 2 op de voorkant, vraag 3 en 4 op pagina 2, en vraag 5 en 6 op pagina Binaire Derdemachtswortel: Dave schrijft een methode om de naar beneden afgeronde derdemachtswortel van een uint te berekenen. Hij gebruikt Binair Zoeken met invariant: i 3 x j > 3 x. Dave heeft deze code al getypt: uint DaveRoot(uint x) { uint i = 1; uint j = (1 << 31); while (j > i) (a) De tweede en derde regel bevatten een fout; welke en waarom is dat fout? (b) Schrijf de body voor Dave s loop (na verbeteringen uit vraag (a)). (c) Geef de return statement en een verbetertip voor dit programma. Oplossing: (a) De initialisatie van i op 1 voldoet niet aan de invariant voor legale invoer x = 0. Met conditie j > i kom je in een oneindige loop, dit moet zijn j > i + 1. (b) Midpoint, test, conditionele assignment: uint m = (i+j)/2; if (m*m*m <= x) i = m; else j = m; (c) return i; Na de lus is i 3 x i + 1 > 3 x dus het antwoord is i. Omdat de maximale waarde van x is, kun je j initialiseren op 1626 (of op (1 << 11)); het gaat dan ongeveer driemaal zo snel. (Met beginwaarde 1636 voorkom je ook overflow.) Beoordeling/Toelichting: Per deelvraag een punt. Codes: C = Je kunt (j>i) gebruiken met een andere body, maar niet met Dave s invariant. D = De test (m <= 3 x) is niet goed, want het uitrekenen van de derdemachtswortel is juist het doel van Dave s methode. E = Early stopping is geen verbetering. H = Er werd gevraagd om de body, je hoefde niet de Hele methode te geven. K = De variant if (m*m*m < x)... is fout (want kan leiden tot een j met derdemacht x, wat de invariant verbiedt); min 1/2. L = Het berekenen van m*m*m kan overflow geven; je mag dit oplossen maar negeren geeft geen aftrek. Het kan bv met cast naar Long of initialisatie op een kleinere j. M = return m; is fout (zelfs als m buiten de body gedeclareerd is) en return j; ook. Het eerste geeft soms een foute waarde en het laatste altijd. T = Bereken m*m*m niet Tweemaal! U = De uint (1<<32) geeft waarde 0.
2 2. In Situ Sorteren: (a) Geef de definitie van een in situ sorteermethode. (b) Welke van deze methoden sorteren in situ? InsertionSort, QuickSort, MergeSort, Heap- Sort, BucketSort, CountingSort. (Zeg of je antwoord nog van extra aannames afhangt. Oplossing: (a) Behalve de geheugenruimte waar de te sorteren keys staan, is maar een geringe hoeveelheid extra geheugen nodig. (b) Insertion, Quick en Heap zijn in situ, MergeSort, BucketSort en CountingSort niet. Beoordeling/Toelichting: Voor (a) een punt en voor (b) een. Codes: C = CountingSort kan alleen zonder extra geheugen werken als er alleen keys zijn en geen satellietdata. Dat moet je er wel bij zeggen. G = Wat is Gering? Je kunt dit opvatten als Constant of als Logaritmisch. QuickSort gebruikt logaritmische ruimte op de call-stack! M = MergeSort kan wel een gelinkte lijst in situ sorteren, maar een array niet. P = Voor (b) 1pt als je 5 of 6 goed hebt, 1/2 als je 4 goed hebt. 3. Sommaties: Los op: (a) n i=0 (5 3i) (b) n 1 j=0 22j+1 (c) n i=1 (A i A n i ) Oplossing: (a) Pas de regel (E+L)A/2 voor rekenkundige reeksen toe: 1 (n + 1)(10 3n), 2 of 1 2 ( 3n2 + 7n + 10). (b) Meetkundige reeks, dus regel (V-E)/(G-1), met groeifactor 4: 1 3 (22n+1 2). (c) Hier komt A n A 0 uit. Je kunt dit inzien door het voor een kleine n even uit te schrijven, bv. n = 5 geeft (A 1 A 4 ) + (A 2 A 3 ) + (A 3 A 2 ) + (A 4 A 1 ) + (A 5 A 0 ), wat na wegvallen gewoon A 5 A 0 is. Of mooier, met echte wiskunde: n i=1 (A i A n i ) = n i=1 A i n i=1 A n i Termsplitsing = n i=1 A i n 1 i=0 A i Dummy Trans i wordt n i = n 1 i=1 A i + A n (A 0 + n 1 i=1 A i) Tweemaal afsplitsen = A n A 0 Wegvallende sommen Beoordeling/Toelichting: Per deelvraag een punt. Codes: A = Aantal bij (a) is n + 1. G = (b) lijkt een tweemacht maar door de 2i in de exponent is de Groeifactor hier 4. J = Vraag (b) vermeldde abusievelijk i in de exponent (antwoord is dan n 2 2i+1 wegens constante term), maar na tweemaal mondelinge correctie zijn hier gelukkig geen vergissingen mee gemaakt.
3 4. Orde van Sinus: (a) Geef de definitie van de uitspraak f(n) = O(g(n)). (b) Bewijs dat 3 + sin n = O(2 + cos n). Oplossing: (a) Er bestaan constanten c > 0, n 0, zo dat voor elke n n 0, f(n) c.g(n). (b) Gebruik dat een sinus max 1 is dus 3+sin is hoogstens 4, en een cos is minstens 1 dus 2+cos minstens 1. Hieruit haal je alvast je constante c = 4. Voor alle n 0 geldt: 3 + sin n 4 want sin n 1 4.(2 + cos n) want 1 cos n Beoordeling/Toelichting: Te halen 1pt voor (a) en 2pt voor (b). Codes: B = Een Bewijs is niet een redenering vanuit je stelling naar iets waars, maar vanuit iets waars (bv. gegevens) naar je stelling. N = Je definitie mist het stuk n 0, min 1/2pt.
4 5. Studentnummers sorteren: Je moet een programma schrijven waarmee dagelijks een log van aanmeldingen op de UU-netwerken wordt gesorteerd. Elke log-entry bestaat uit een studentnummer als int en een tekstje van ongeveer 100 karakters. Het aantal van een dag is ongeveer honderdduizend en het moet gesorteerd worden op studentnummer. Counting/RadixSort is hier een goede keuze, maar in hoeveel passes? (a) Hoeveel geheugen en tijd is ongeveer nodig wanneer je alleen Counting Sort gebruikt (dus 1 pass)? (b) Hoeveel geheugen en tijd is nodig als je twee passes gebruikt, eerst op de 16 minst significante bits en dan op de 16 meest significante? (c) Bespreek (kort!) een of twee mogelijke opties voor verdere verbetering. Oplossing: De omvang van de data is ca keer 100 bytes dus 10MB. Het lijkt zinvol, de hoeveelheid te gebruiken data in vergelijking hiermee te bekijken. In een ronde van CountingSort moet je n maal een counter ophogen, dan M optellingen doen voor de cumulatief, en n maal data verplaatsen. (a) Collegekaartnummers hebben 7 cijfers en lopen dus tot 10 miljoen. Je gebruikt een array van 10 miljoen counters (4B per stuk dus 40MB) en het cumuleren kost 10 miljoen stappen. Dat is veel meer dan de twee keer dat ik naar elk van de keys kijk. In O-notatie, van de complexiteit O(n + M) is hier de M dominant. (b) Dit gebruikt tweemaal CountingSort met een M van 65536, waarvoor je dus 4x ofwel 1/4 MB nodig hebt voor de counters, en optellingen voor het cumuleren. Geheugengebruik en cumuleren zijn nu vrij klein ten opzichte van de tijd en het geheugen dat je toch al gebruikt. (c) Kortere passes: Collegekaartnummers zijn altijd kleiner dan 10 miljoen dus van de 32 bits worden er maar 24 gebruikt. Sorteren in twee passes op de 12 minst significante en dan de volgende 12 verkleint de overhead nog wat. Meer passes: Vier passes waarin je op acht bits sorteert verkleinen de M wel, waarmee de tijd van CountingSort iets afneemt, maar je verdubbelt het aantal handelingen voor elk van de keys dus dit is niet slim. BucketSort: De spreiding van collegekaartnummers is niet gelijkmatig over het bereik. Te meer omdat sommige personen heel vaak inloggen. BucketSort is daarom geen goed idee. Insertion/Selection Sort: Kwadratische complexiteit, volkomen onaanvaardbaar. Quick/Merge/Heap Sort: Algemene methoden (comparison based) met Θ(n lg n) complexiteit, lijkt overbodig want Count/Radix-aanpak is veel sneller. Beoordeling/Toelichting: Een punt voor elke deelvraag. Het moet duidelijk zijn dat je begrijpt dat de M overhead bij (a) domineert en bij (b) juist klein is. Codes: B = Noemt BucketSort maar zegt niets over spreiding. Waarschijnlijk is bij een probleem als dit de spreiding slecht, maar als je dit aspect noemt (en zegt dat de spreiding goed is) is het al goed. C = Geheugen en tijd voor Counters (dus de extra Θ(M)) verwaarloosd. D = Elke log Direct invoegen kost je minstens logaritmische tijd per key dus is in totaal zeker niet beter dan twee passes CountingSort. E = Voor meerdere passes heb je maar Eenmaal de array met counters nodig omdat je die hergebruikt.
5 G = Geheugen keer 16b? De 16 MSB en 16 LSB sla je niet apart op. H = De Hoogte van de counters kan tot n oplopen. Tijdens het tellen al omdat je niets weet over de spreiding van de keys (in het meest extreme geval heeft 1 student keer ingelogd!). En bij het berekenen van de cumulatief lopen de waarden aan het eind van de tabel zeker op tot n. M = Meer passes verkleinen het geheugengebruik marginaal, maar laten wel de tijd toenemen, dus niet slim. R = Studentnummers zijn Redundant vanwege een checksum die maakt dat je alleen naar de eerste zes cijfers hoeft te kijken. Je kunt dus in een enkele pass met M = sorteren op (nummer mod 10), of dit nog weer over twee passes M = 1000 verdelen. S = De Satellietdata (100byte strings) wordt niet echt verplaatst. Meestal sla je dit op in objecten en sorteer je de array met objecten, waardoor er alleen pointers echt worden verplaatst.. U = De keys zijn zeker niet Uniek (met logs van studenten). Je kunt ook niet aannemen dat elke student even vaak inlogt; waarschijnlijker is meerdere logins voor weinig studenten en geen voor heel veel studenten. V = Veranderen van dataopslag is het Veranderen van het probleem, niet het oplossen ervan. (In de praktijk zijn softwarebedrijven en wetenschappers hier trouwens erg succesvol mee.) W = Als je twee passes gebruikt in plaats van een, wordt de M niet de helft, maar de Wortel van de oude. Z = Iets noemen wat al in a of b Zit is geen verbetering. 6. Three-of-a-Kind: Hoe groot is de kans om, bij het nemen van 5 kaarten uit een spel van 52, een three-of-a-kind te krijgen? Three-of-a-kind betekent dat je van een van de kaartwaarden drie exemplaren hebt, bv drie boeren of drie achten. Vier boeren telt niet als three-of-a-kind. Van de andere twee kaarten maakt het niet uit of de kaartwaarde gelijk is; dwz. drie boeren en twee zevens is wel three-of-a-kind. ( ) 52 Oplossing: Elke combinatie van vijf kaarten is even waarschijnlijk, dus neem de = combinaties als elementaire gebeurtenissen. Hoeveel combinaties tellen als ToaK? Er zijn dertien mogelijkheden voor de ( drievoudige ) 48 kaartwaarde, vier mogelijkheden voor de missende kaart van die waarde, en = mogelijkheden om het trio aan te vullen met twee kaarten van andere waarde. Dit geeft een kans van = 0, Beoordeling/Toelichting: Twee pt voor een goed antwoord.
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
Nadere informatieOpgaven Lineair Sorteren Datastructuren, 15 mei 2019, Werkgroep.
Opgaven Lineair Sorteren Datastructuren, 15 mei 2019, 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 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 informatieTweede 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 informatieOpgaven Sommaties Datastructuren, 8 mei 2019, Werkgroep.
Opgaven Sommaties Datastructuren, 8 mei 019, 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 informatieZevende 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:
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 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 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 informatieZevende college algoritmiek. 23/24 maart Verdeel en Heers
Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht
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 informatieZevende 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
Nadere informatieZevende 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
Nadere informatieZevende college Algoritmiek. 6 april Verdeel en Heers
Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)
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 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 Binair Zoeken en Invarianten Datastructuren, 28 april 2017, Werkgroep.
Opgaven Binair Zoeken en Invarianten Datastructuren, 28 april 2017, 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 informatieDatastructuren. 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,
Nadere informatieZesde 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
Nadere informatieTweede 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
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 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
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 informatieVierde 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
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 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 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 informatieTijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.
Complexiteit of efficiëntie van algoritmen Hoe meet je deze? Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Een betere maatstaf is het aantal berekeningsstappen
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 informatieHoofdstuk 3. Week 5: Sorteren. 3.1 Inleiding
Hoofdstuk 3 Week 5: Sorteren 3.1 Inleiding Zoals al bleek in college 1 kunnen zoekalgoritmen veel sneller worden uitgevoerd, indien we weten dat de elementen in de lijst, waarin wordt gezocht, geordend
Nadere informatieEerste Huiswerk Algoritmiek 18 februari 2015, uitwisselen, WerkCollege.
Eerste Huiswerk Algoritmiek 18 februari 2015, uitwisselen, WerkCollege. Kijk een huiswerkset na met een team van twee, voorzie de uitwerking van commentaar en becijfering, en neem de nagekeken set mee
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 informatieVijfde 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
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 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 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 informatieUitwerking 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
Nadere informatieProgrammeermethoden. 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,
Nadere informatieREEKS I. Zaterdag 6 november 2010, 9u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee
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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
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 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 informatieComputervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?
Inhoud Computervaardigheden Hoofdstuk 4 Scripting (Let op: dit is enkel voor studenten Biologie.) Dit hoofdstuk bekijkt heel kort de basis van scripting. - Opstellen van functies. - Conditionele code.
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 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 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatie1 Rekenen in eindige precisie
Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen
Nadere informatie2 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
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 informatiePHP herhaalt: for en while
PHP herhaalt: for en while Huub de Beer Eindhoven, 4 juni 2011 Iteratie, repetitie en loops PHP herhaalt Een voor een de elementen van een array doorlopen? Gebruik foreach-statement Tellen van een beginwaarde
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 informatieHoofdstuk 7: Werken met arrays
Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel
Nadere informatieAanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur
Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, 13.30-15.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Opgaven 1 levert 8 punten op, opgave 2 levert 12 punten
Nadere informatieTweede deeltoets Algoritmiek 14 april 2015, , Educ-Γ.
Tweede deeltoets Algoritmiek 14 april 2015, 17.00 19.00, Educ-Γ. Motiveer je antwoorden kort. Stel geen vragen over de toets, maar vermeld bij twijfel hoe je de vraag interpreteert. Maak vraag 1 en 2 op
Nadere informatieExamen Algoritmen en Datastructuren III
Derde bachelor Informatica Academiejaar 2006 2007, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)
Nadere informatieVierde college complexiteit. 16 februari Beslissingsbomen en selectie
Complexiteit 2016/04 College 4 Vierde college complexiteit 16 februari 2016 Beslissingsbomen en selectie 1 Complexiteit 2016/04 Zoeken: samengevat Ongeordend lineair zoeken: Θ(n) sleutelvergelijkingen
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste 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 informatieAanvulling bij de cursus Calculus 1. Complexe getallen
Aanvulling bij de cursus Calculus 1 Complexe getallen A.C.M. Ran In dit dictaat worden complexe getallen behandeld. Ook in het Calculusboek van Adams kun je iets over complexe getallen lezen, namelijk
Nadere informatieGreedy algoritmes. Algoritmiek
Greedy algoritmes Algoritmiek Algoritmische technieken Trucs, methoden, paradigma s voor het ontwerpen van algoritmen Dynamisch Programmeren Divide & Conquer Greedy 2 Greedy algoritme Bouwt de oplossing
Nadere informatieDivide & 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 Volgend college: Greedy Vandaag: Divide
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 informatieDefinitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n
Hoofdstuk 1 Inleidende begrippen 1.1 Definities Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n Voor het tellen van het aantal
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 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 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 informatieTweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.
Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Kijk het huiswerk van je collega s na en schrijf de namen van de nakijkers linksboven en het totaalcijfer rechts onder de namen
Nadere informatieTECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica
TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Tentamen Kansrekening (2WS2, Vrijdag 23 januari 25, om 9:-2:. Dit is een tentamen met gesloten boek. De uitwerkingen van de opgaven dienen
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 informatie5 Afronden en afkappen
WIS5 1 5 Afronden en afkappen 5.1 Floor en ceiling Floor en ceiling Conversiefuncties van reële getallen naar gehele getallen. x = het grootste gehele getal et x x = het kleinste gehele getal et x Uitspraak:
Nadere informatieElementaire rekenvaardigheden
Hoofdstuk 1 Elementaire rekenvaardigheden De dingen die je niet durft te vragen, maar toch echt moet weten Je moet kunnen optellen en aftrekken om de gegevens van de patiënt nauwkeurig bij te kunnen houden.
Nadere informatieGroepen, ringen en velden
Groepen, ringen en velden Groep Een groep G is een verzameling van elementen en een binaire operator met volgende eigenschappen: 1. closure (gesloten): als a en b tot G behoren, doet a b dat ook. 2. associativiteit:
Nadere informatieTentamen WISN101 Wiskundige Technieken 1 Ma 2 nov :30 16:30
Tentamen WISN Wiskundige Technieken Ma nov 5 3:3 6:3 Normering voor 4 pt vragen (andere vragen naar rato): 4pt Goed begrepen en goed uitgevoerd, eventueel met enkele onbelangrijke rekenfoutjes. 3pt Grote
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 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 informatieLes A-03 Binaire en hexadecimale getallen
Les A-03 Binaire en hexadecimale getallen In deze les wordt behandeld hoe getallen kunnen worden voorgesteld door informatie die bestaat uit reeksen 0-en en 1-en. We noemen deze informatie digitale informatie.
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieProgra-MEER - Algoritmiek Leuven 20 maart 2018
Progra-MEER - Leuven 20 maart 2018 Bart Demoen KU Leuven Veerle Fack UGent Frank Neven/Wim Lamotte UHasselt schooljaar 2017-2018 Vandaag... 2/33 waar staan we i.v.m. 24 april? werkblad met twee thema s
Nadere informatie1 Complexiteit. of benadering en snel
1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?
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 informatieDivide & 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
Nadere informatieEerste deeltoets Algoritmiek 4 maart 2015, , Educ-β.
Eerste deeltoets Algoritmiek 4 maart 2015, 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 30 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Dynamische verzamelingen Stack implementaties Array met maximale grootte Linked List
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 informatie(x x 1 ) + y 1. x x k+1 x k x k+1
Les Talor reeksen We hebben in Wiskunde een aantal belangrijke reële functies gezien, bijvoorbeeld de exponentiële functie exp(x) of de trigonometrische functies sin(x) en cos(x) Toen hebben we wel eigenschappen
Nadere informatieRSA. F.A. Grootjen. 8 maart 2002
RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven
Nadere informatieUitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur
Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf
Nadere informatieTW2040: Complexe Functietheorie
TW2040: Complexe Functietheorie week 4.1, donderdag K. P. Hart Faculteit EWI TU Delft Delft, 21 april, 2016 K. P. Hart TW2040: Complexe Functietheorie 1 / 32 Outline 1 K. P. Hart TW2040: Complexe Functietheorie
Nadere informatieSmall Basic Programmeren Text Console 2
Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:
Nadere informatieIndexen.
Indexen joost.vennekens@kuleuven.be Probleem Snel gegevens terugvinden Gegevens moeten netjes geordend zijn Manier waarop hangt af van gebruik Sequentieel Gesorteerde gegevens, die in volgorde overlopen
Nadere informatieProgrammeermethoden 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
Nadere informatieInhoud college 5 Basiswiskunde Taylorpolynomen
Inhoud college 5 Basiswiskunde 4.10 Taylorpolynomen 2 Basiswiskunde_College_5.nb 4.10 Inleiding Gegeven is een functie f met punt a in domein D f. Gezocht een eenvoudige functie, die rond punt a op f lijkt
Nadere informatieProgrammeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
Nadere informatieMinimum 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
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieD-dag 2014 Vrijeschool Zutphen VO. D -DAG 13 februari 2014: 1+ 1 = 2. (en hoe nu verder?) 1 = 2en hoe nu verder?
D -DAG 13 februari 2014: 1+ 1 = 2 (en hoe nu verder?) 1 = 2en hoe nu verder? 1 Inleiding Snel machtsverheffen Stel je voor dat je 7 25 moet uitrekenen. Je weet dat machtsverheffen herhaald vermenigvuldigen
Nadere informatie