Eerste Toets Concurrency 20 december 2018, , Educ-β.

Maat: px
Weergave met pagina beginnen:

Download "Eerste Toets Concurrency 20 december 2018, , Educ-β."

Transcriptie

1 Eerste Toets Concurrency 20 december 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: Vraag 3 is 2pt, vraag 5 is 4pt en de andere vragen elk 3pt. Te halen 15pt; T1 is totaal plus 1, gedeeld door 1,4. 1. Terminatie van threads: Twee threads alterneren elk een bit, waarbij de ene zal stoppen bij gelijkheid en de andere juist bij ongelijkheid; a en b zijn initieel true: Thread 0: while (a == b) Thread 1: while (b!= a) a =!a; b =!b; (a) Heeft dit programma een oneindige executie? (b) Heeft dit programma een oneindige faire executie? (c) Bewijs dat het programma obstruction-free is voor thread 0: als, vanaf enig moment, thread 1 niet meer actief is, dan termineert thread 0. Oplossing: (a) Ja. De bits zijn in het begin gelijk; laat T0 zijn test doen en zijn body uitvoeren, dan zijn ze ongelijk. Daarna kan T1 zijn test plus body doen, en zijn de bits weer gelijk. Dit kan zich willekeurig vaak, zelfs oneindig vaak, herhalen. (b) Ja, want het scenario uit (a) is fair. Immers, elke thread komt oneindig vaak aan de beurt. (c) Als thread 1 een tijdje non-actief is, verandert b niet meer, terwijl thread 0 a zal alterneren. Op z n laatst in de tweede test zal thread 0 gelijkheid zien en termineren. (Mocht thread 1 hierna weer wakker worden, dan is thread 0 inactief en ook thread 1 zal termineren. Beoordeling/Toelichting: Per deelvraag een punt. Codes: A = Alleen 1 thread laten werken bij (a) is niet goed, die zou zichzelf termineren. B = Om de Beurt is niet hetzelfde als fair. E = Elke thread Een keer aan de beurt is nog niet genoeg voor fairness. F = Je moet zeggen waarom je voorbeeld fair is. L = De Loop conditiecheck plus body is niet atomair. (Het scenario in (a) pakt wel steeds een check plus body, maar je redenering mag er niet van uit gaan dat zoiets gegarandeerd is.) T = Thread 1 niet meer actief impliceert niet dat hij getermineerd is (en dus b==a). De premisse bij Obstruction Free is alleen, dat de thread lang genoeg geen activiteiten uitvoert. W = De While-conditie op false laat een thread niet Wachten maar termineren.

2 2. MultiReader register: Om een MultiReader register te bouwen met SingleReader registers, kun je gebruik maken van kopiëren, wat de eigenschappen Safe en Regular behoudt. (a) Wanneer is een register Regular? (b) Geef code voor Write(x) en Read() voor een MultiReader Safe register. Wat is de complexiteit van de Write(x) en Read() als er n Readers zijn? (c) Laat met een voorbeeld zien, dat kopiëren niet de eigenschap Atomic behoudt. Oplossing: (a) Wanneer een Read gegarandeerd de waarde teruggeeft van een ermee overlappende Write, of de laatste Write die was afgelopen voor de Read begon. (b) Het n-reader register bestaat uit n SR-registers: s SR-register[n] Write(x): for(int i=0; i<n; i++) Read() voor Reader i: s[i].write(x); return s[i].read(); De Read bestaat uit 1 read en heeft dus constante complexiteit O(1). De Write bestaat uit n write s dus heeft lineaire complexiteit O(n). (c) Een Inversie wordt mogelijk: laat de Writer eerst s[0] en dan s[1] muteren. Tussen deze twee write s kan Reader0 een complete Read uitvoeren en de nieuwe waarde zien, strikt waarna Reader1 komt en de oude waarde ziet. (Dit is alleen een inversie wanneer de Read van Reader0 is afgelopen voordat de Read van Reader1 begint.) Beoordeling/Toelichting: Totaal 3pt, per deelvraag een punt. Beoordelingscodes: B = Bij overlap tussen de twee reads is er geen sprake van inversie. C = Complexiteit vergeten te vermelden. G = Je beschrijft wel wat een inversie is, maar niet hoe dat kan Gebeuren, 1/2pt. K = Kopiëren is een techniekje om multireader te beeiken, het staat niet voor een of andere actie die hier gebeurt. M = Een Read kan ook met Meerdere (of geen) Writes overlappen, 1/2pt. S = Silent Write gebruik je om een regular bit te maken, maar is niet de definitie ervan. T = Een regular register heeft alleen een non-atomair scenario met Twee Reads. U = Wat je beschrijft is de Unaire representatie, niet kopiëren. V = Voorlaatste opleveren mag alleen bij overlap! W = Writes kunnen niet overlappen in een Single-Writer situatie. Z = Zelfs geen beschrijving van wat een inversie is, 0pt.

3 3. Ticket en 3-Consensus: Anneke heeft voor haar Softwareproject een 3-Consensus object nodig, waarmee consensus wordt bereikt tussen 3 threads. Uit haar vorige project heeft Anneke nog een atomair Ticket object, dit is een object met 1 methode namelijk rinc() die aan de aanroepende threads achtereenvolgens oplopende integers returnt. Geef een implementatie van 3-Consensus met Ticket, of bewijs dat dit niet kan. Oplossing: Dit is onmogelijk, omdat de Ticket maar consensus-getal 2 heeft. Om dit compleet te bewijzen, moet je redeneren over een bivalente state C, die een 0-valente en 1-valente opvolger heeft, zeg C 0 en C 1. Een consensus-protocol, als het bestaat, heeft zo n state. We weten uit het college dat de stappen die tot 0- en 1-valentie leiden, geen registerstappen kunnen zijn of stappen op verschillende objecten. De stappen van bv. thread0 en thread1 die C 0- resp. 1-valent maken zijn dus rinc stappen. Helaas is na een rinc-stap niet te zien, welke thread die uitvoerde. Dus zijn C 0 en C 1 2-gelijk en kunnen geen verschillende valentie hebben. Beoordeling/Toelichting: Max 2pt. Beoordelingscodes: A = De combinatie t[i] = rinc(); is niet Atomair. B = Beredeneert dat Bepaalde oplossing niet kan, 1/2, 1 of 1 1/2 afhankelijk van algemeenheid. C = 1 als je alleen iets over het Consensus-getal zegt. Voor 2 moet je ook echt beredeneren waarom Ticket CN=2 heeft. Als je denkt dat Ticket CN 1 heeft, 1/2. K = Zegt Kan alleen met CaS, 1/2. N = Zegt kan Niet, maar zonder toelichting, 0pt. T = Bewijst CN van Ticket door te zeggen dat die met TaS kan, maar niet hoe, 1 1/2pt. W = Zegt dat t Wel kan, 0pt.

4 4. Parallelle Conjunctie: (a) Laat zien hoe de CRCW PRAM de conjunctie van n condities c i, dus c 0 c 1 c 2... c n 1, kan bepalen in lineair (dus O(n)) werk en constante (dus O(1)) span. (b) Kan je algoritme worden uitgevoerd op een CREW-PRAM en wat is dan de duur van de executie? (c) Wat is een goede manier om de conjunctie te bepalen op een CREW-PRAM? Oplossing: (a) Dit is het duale van de OR (die op hoorcollege is voorgedaan): (1) R = true; (2) par.for(i, 1, n) if (!c[i]) R = false; Na afloop is R true wanneer alle c i true zijn, en false wanneer minstens 1 c i false is, dus de conjunctie. De Concurrent Write die de vraag veronderstelt, zorgt dat ook meerdere writes in constante tijd worden verwerkt. (b) Dit gaat op een CREW heel slecht. Als k het aantal condities is dat false is, worden er k writes op R gedaan en dat kost Θ(k) tijd, dus in het slechtste geval lineair. (c) Gebruik een boomschema of een van de andere recursieve oplossingen die we voor Sommeren hebben gezien. Dat kost lineair veel werk en logaritmische span. Beoordeling/Toelichting: Per deelvraag een punt. Je kunt (a) zien als een kennisvraag, (b) als een toepassingsvraag (betekenis EW) en (c) als doordenkvraag. Beoordelingscodes: A = Als Alle threads de c i schrijven naar R, krijg je niet de conjunctie, maar de waarde van de laatst schrijvende thread. B = Boomschema bij (a) geen pt, onnodig traag. C = Onduidelijk hoe de deelresultaten gecombineerd worden. Er bestaat geen Concurrent Return op de CRCW PRAM! K Alleen Kan niet (met motivatie) bij (b) geeft 1/2, want het kan wel alleen het duurt langer. L = Concurrent Read/Write slaat op operaties op dezelfde Locatie. OR = Er werd gevraagd om AND maar jij geeft OR, 1/2pt. R = Een Recursieve oplossing kost logaritmische span. Elk ander schema dat volgens een boomplan paarsgewijze competities houdt ook. S = De R lezen voor t Schrijven (Silent Write) werkt niet, je zou R moeten locken. 0pt. U = Een Update zoals R = R && c[i]; is inherent sequentieel en kan niet parallel, zelfs niet op een CRCW PRAM. V = De c i laten combineren met de Volgende c i+1 is vrij zinloos (lost niet t probleem op). Z = Stoppen Zodra je False ziet is een sequentieel proces, 0pt.

5 5. Parallelle MergeSort: Om n elementen te sorteren, zal MergeSort recursief de eerste en laatste helft sorteren, en dan de gesorteerde deelrijen samenvoegen, dwz. mergen. Sequentieel mergen van n elementen kost O(n) tijd. (a) Analyseer de span van een parallelle MergeSort, waarin alleen de twee recursieve aanroepen parallel worden gedaan (met Invoke) en het mergen sequentieel. (b) Is het algoritme uit (a) efficient en is het optimaal? Leg uit. (c) Je kunt n elementen mergen met n/ lg n cores in O(lg n) tijd. Wat betekent dit voor Work en Span van de merge? (d) Als je de merge procedure uit c gebruikt in MergeSort, wordt het algoritme dan efficient en optimaal? Oplossing: (a) Noem de span voor n elementen, S(n). Omdat de recursieve aanroepen parallel gaan, tellen we die als eentje, maar het mergen is dan nog sequentieel dus lineair. Dit geeft de vergelijking S(n) = S(n/2) + O(n) met oplossing (MT: a = 1, b = 2, f(n) = n 1 ) S(n) = O(n). (b) De work is gelijk aan de sequentiele tijd, dus O(n lg n), wat optimaal is voor sorteren, er is dus constante overhead. Helaas is de span niet polylogaritmisch, waarmee het niet optimaal is (namelijk: constante overhead en polylog span) en zelfs niet efficient (namelijk: polylog overhead en ploylog span). (c) Als de taak gedaan wordt door n/ lg n cores in lg n tijd, is de verzette hoeveelheid werk zeker niet meer dan O(n), conclusie: Work is (hoogstens) lineair. Het is na lg n tijd af, waaruit volgt dat de Span (hoogstens) logaritmisch is. Beide zijn optimaal (het is dus niet strikt minder dan lineair cq. logaritmisch) maar daarover hoef je niets te zeggen. (d) We kunnen de lineaire Work en logaritmische Span invoeren in de Work en Span vergelijkingen voor MergeSort. Die heeft dan Work W (n) = 2 W (n/2) + O(n) met oplossing W (n) = O(n lg n), en Span S(n) = S(n/2) + O(lg n) met oplossing S(n) = O(lg 2 n). De Work is gelijk aan de sequentiele complexiteit, dus geen overhead, en de Span is polylog, het is dus wel efficient en zelfs optimaal. Beoordeling/Toelichting: Een punt per deelvraag, totaal 4pt. Codes: A = Analyseren betekent het opstellen van de recurrente betrekking plus het oplossen ervan (met de master Theorem). D = Uitkomst is (Diepte van recursie keer) Dwangterm is niet een acceptabele manier om een RB op te lossen, zelfs niet als die uitkomst hetzelfde is als de juiste oplossing. E = Extra factor lg n vergeten bij de Span van MergeSort. F = Gebruik f(n) (of f(lg n)) niet als synoniem voor O(n) (of O(lg n)). L = Verkeerde Overhead berekend omdat je denkt dat sorteren sequentieel Lineair (of Logaritmisch) is. S = Bij (c) en (d) werd Merge en MergSort vaak door elkaar gehaald. Bij (c) werd gevraagd naar Merge, maar als je MergeSort daar juist analyseerde was t goed. Bij (c) Merge analyseren en de uitkomst gebruiken bij (d) voor MergeSort isniet goed. V = Wel Vreemd als je Work vindt die lager is dan sequentiële tijd! Moet opvallen! Z = Een recurrente betrekking heeft de Zelfde functienaam in de LHS en RHS staan, als in S(n) = S(n/2) + O(n). Niet goed is T (n) = S(n/2) + O(n) of S(n) = (n/2) + O(n).

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Opgaven 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 informatie

Tweede Toets Concurrency 2 februari 2017, , Educ-β.

Tweede 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 informatie

Toetsbundel Deel 1 Concurrency 10 december 2015, Gerard Tel, Niet verspreiden 1!.

Toetsbundel Deel 1 Concurrency 10 december 2015, Gerard Tel, Niet verspreiden 1!. Toetsbundel Deel 1 Concurrency 10 december 2015, Gerard Tel, Niet verspreiden 1!. Deze bundel bevat een collectie toetsvragen over het eerste deel van Concurrency. Je kunt deze bundel gebruiken voor je

Nadere informatie

Eerste Toets Datastructuren 22 mei 2019, , Educ-β en Megaron.

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

Nadere informatie

Werkcollegebundel Deel 1 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!.

Werkcollegebundel Deel 1 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!. Werkcollegebundel Deel 1 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!. Deze bundel bevat een collectie toetsvragen over het eerste deel van Concurrency. Behalve dat goede antwoorden worden

Nadere informatie

Opgaven Work-Span model Concurrency, 15 nov 2018, Werkgroep.

Opgaven Work-Span model Concurrency, 15 nov 2018, Werkgroep. Opgaven Work-Span model Concurrency, 15 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. Uitleg over Efficient

Nadere informatie

Tweede Toets Datastructuren 27 juni 2018, , Olympos Hal 2.

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

Nadere informatie

Opgaven Recursie: Analyse en Master Theorem Datastructuren, 6 juni 2018, Werkgroep.

Opgaven 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 informatie

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Uitgebreide 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 informatie

Opgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.

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

Nadere informatie

Eerste Toets Datastructuren 11 juli 2018, , Educ-α.

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

Nadere informatie

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Opgaven 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 informatie

Eerste Huiswerk Algoritmiek 18 februari 2015, uitwisselen, WerkCollege.

Eerste 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 informatie

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

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

Nadere informatie

Toetsbundel Deel 2 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!.

Toetsbundel Deel 2 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!. Toetsbundel Deel 2 Concurrency 8 oktober 2018, Gerard Tel, Niet verspreiden 1!. Deze bundel bevat een collectie toetsvragen over het tweede deel van Concurrency. Behalve dat goede antwoorden worden gegeven,

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Opgaven Binair Zoeken en Invarianten Datastructuren, 4 mei 2016, Werkgroep.

Opgaven 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 informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

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.

Nadere informatie

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ.

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

Nadere informatie

Tweede Toets Datastructuren 28 juni 2017, , Educ-β.

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

Nadere informatie

Vierde college complexiteit. 14 februari Beslissingsbomen

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

Nadere informatie

Tweede Toets Datastructuren 26 juni 2019, , Educ-β.

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 informatie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Vierde 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 informatie

Combinatoriek groep 1 & 2: Recursie

Combinatoriek 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 informatie

Zevende college algoritmiek. 23/24 maart Verdeel en Heers

Zevende 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 informatie

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

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:

Nadere informatie

Divide & Conquer: Verdeel en Heers. Algoritmiek

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 Volgend college: Greedy Vandaag: Divide

Nadere informatie

Zevende college Algoritmiek. 6 april Verdeel en Heers

Zevende 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 informatie

Zevende college algoritmiek. 24 maart Verdeel en Heers

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

Nadere informatie

Opgaven QuickSort 3 mei 2019, Werkgroep, Datastructuren.

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

Nadere informatie

Divide & Conquer: Verdeel en Heers. Algoritmiek

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

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

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,

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

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

Nadere informatie

Opgaven Heaps Datastructuren, 8 juni 2018, Werkgroep.

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.

Nadere informatie

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

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

Nadere informatie

Inleiding Programmeren 2

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

Nadere informatie

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force

Vierde 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 informatie

Eerste deeltoets Algoritmiek 4 maart 2015, , Educ-β.

Eerste 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 informatie

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

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:

Nadere informatie

TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR

TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2011-2012 Zaterdag 5 november 2011, 9u30 NAAM :... VRAAG 1: EVEN VEEL [5 PUNTEN] Schrijf een methode evenveel(), met twee argumenten,

Nadere informatie

REEKS I. Zaterdag 6 november 2010, 9u

REEKS 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 informatie

Zesde college complexiteit. 19 maart Mergesort, Ondergrens sorteren Quicksort, Shellsort

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

Nadere informatie

Opgaven Binair Zoeken en Invarianten Datastructuren, 28 april 2017, Werkgroep.

Opgaven 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 informatie

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

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,

Nadere informatie

Opgaven Fibonacci-getallen Datastructuren, 23 juni 2017, Werkgroep.

Opgaven 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 informatie

Datastructuren en Algoritmen

Datastructuren 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 informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete 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 informatie

Inleiding Programmeren 2

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

Nadere informatie

Derde college algoritmiek. 23 februari Complexiteit Toestand-actie-ruimte

Derde 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 informatie

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.

Tweede 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 informatie

Elfde college complexiteit. 23 april NP-volledigheid III

Elfde college complexiteit. 23 april NP-volledigheid III college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP

Nadere informatie

Practicumopgave 3: SAT-solver

Practicumopgave 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 informatie

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Elfde 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 informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2006 2007, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)

Nadere informatie

Opgaven Abstracte Datastructuren Datastructuren, Werkgroep, 31 mei 2017.

Opgaven 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 informatie

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

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

Nadere informatie

Derde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte

Derde 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 informatie

Derde college complexiteit. 7 februari Zoeken

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

Nadere informatie

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A. Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen

Nadere informatie

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument

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

Nadere informatie

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

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.

Nadere informatie

2 Recurrente betrekkingen

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

Nadere informatie

Gedistribueerd Programmeren - Samenvatting

Gedistribueerd Programmeren - Samenvatting Gedistribueerd Programmeren - Samenvatting Geertjan van Vliet Disclaimer: Aan deze teksten kunnen geen rechten ontleend worden. Bepaalde passages zijn de visie van de auteur en niet die van de docent.

Nadere informatie

Eerste Toets Datastructuren 25 mei 2018, , Educ-Γ.

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 informatie

Tweede deeltoets Algoritmiek 14 april 2015, , Educ-Γ.

Tweede 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 informatie

Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.

Tijd 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 informatie

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994 Take-home Tentamen Protocolvericatie Vakgroep Programmatuur Universiteit van Amsterdam 27 Maart 1994 Algemene Opmerkingen Dit tentamen omvat zes reguliere opgaven plus een bonusopgave. Opgaves 1, 2, 5

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018 Uitgebreide uitwerking Tentamen Complexiteit, juni 018 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 informatie

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.

Nadere informatie

Combinatoriek groep 1

Combinatoriek 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 informatie

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

Opgaven bij Hoofdstuk 3 - Productiesystemen

Opgaven bij Hoofdstuk 3 - Productiesystemen Opgaven bij Hoofdstuk 3 - Productiesystemen Top-down inferentie In de opgaven in deze paragraaf over top-down inferentie wordt aangenomen dat de feitenverzameling alleen feiten bevat die als getraceerd

Nadere informatie

8. Complexiteit van algoritmen:

8. Complexiteit van algoritmen: 8. Complexiteit van algoritmen: Voorbeeld: Een gevaarlijk spel 1 Spelboom voor het wespenspel 2 8.1 Complexiteit 4 8.2 NP-problemen 6 8.3 De oplossing 7 8.4 Een vuistregel 8 In dit hoofdstuk wordt het

Nadere informatie

Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep.

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

Nadere informatie

Een eenvoudig algoritme om permutaties te genereren

Een eenvoudig algoritme om permutaties te genereren Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden

Nadere informatie

Negende college algoritmiek. 15 april Dynamisch Programmeren

Negende college algoritmiek. 15 april Dynamisch Programmeren Negende college algoritmiek 15 april 2016 Dynamisch Programmeren 1 algemeen Uit college 8: DP: - nuttig bij problemen met overlappende deelproblemen - druk een oplossing van het probleem uit in oplossingen

Nadere informatie

Combinatoriek groep 1

Combinatoriek 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 informatie

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Semantiek (2IT40) Jos Baeten.  HG 7.19 tel.: Hoorcollege 3 (12 april 2007) Jos Baeten josb@wintuenl http://wwwwintuenl/~josb/ HG 719 tel: 040 247 5155 Hoorcollege 3 (12 april 2007) Voorbeeld [Bewijstechniek 2 niet altijd succesvol] Executie van commands is deterministisch: c

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen

Nadere informatie

Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 26 augustus 2010, , Examenzaal

Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 26 augustus 2010, , Examenzaal Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 26 augustus 2010, 14.00 17.00, Examenzaal Het gebruik van een rekenmachine en/of telefoon is niet toegestaan. U mag geen gebruik maken van het boek

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

Nadere informatie

Combinatoriek groep 2

Combinatoriek 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 informatie

REEKS II. Zaterdag 6 november 2010, 11u

REEKS II. Zaterdag 6 november 2010, 11u TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS II Zaterdag 6 november 2010, 11u NAAM :... VRAAG 1: AFSTAND [5 PUNTEN] In deze oefening gaan we opzoek naar identieke

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.

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

Nadere informatie

Tweede Toets Security 9 november 2016, , Educ-α.

Tweede 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 informatie

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Uitwerking 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 informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren Achtste college algoritmiek 12 april 2019 Verdeel en Heers Dynamisch Programmeren 1 Uit college 7: Partitie Partitie Partitie(A[l r]) :: // partitioneert een (sub)array, met A[l] als spil (pivot) p :=

Nadere informatie

Opgaven Sommaties Datastructuren, 8 mei 2019, Werkgroep.

Opgaven 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 informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Deel-tentamen Operating Systemen (2IN05) op vrijdag 5 oktober 2007, 9.00-10.30 uur. Het tentamen bestaat uit twee delen die apart worden

Nadere informatie

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit

Nadere informatie

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Opgaven Zoekbomen Datastructuren, 20 juni 2018, Werkgroep.

Opgaven 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 informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 Algemene opmerkingen (lees dit!): - Dit tentamen duurt ANDERHALF UUR! - Dit

Nadere informatie

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA? Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ

Nadere informatie